実績公開中のトレードプログラムのロジックを解説

運用中のトレードプログラムの実績を
自動で集計して毎日当ブログで公開しています。

今回は、実績公開しているトレードプログラムを紹介します。

トラップトレードを運用中

運用しているのは、
bitFlyer FXのIFDOCO注文を利用した
トラップトレードです。

IFDOCO注文とは

IFDOCO注文(イフダン・オーシーオー)は、
最初の注文(親注文)が約定した場合に、
利益確定と損切りの2つの注文(子注文)が
自動で発注されるというものです。

最初の発注の時点で
利益確定額と損切額まで指定できるので
システムトレードと非常に相性の良い注文方法です。

bitFlyer FXでシステムトレードを行っている大きな理由が
IFDOCO注文が使えるからというものです。

トラップトレードの流れ

注文の内容は、
まず親注文を現在の価格よりも
有利な位置に指値注文を入れます。

子注文は、親注文に対する決済注文として
利益確定注文と損切り注文を入れておきます。

これがトラップトレードとして
どのように動くかですが、
親注文は価格が指値まで移動すると約定します。

親注文を出す際に有効期限を指定しますので、
価格が指値の位置まで届かなければ
当然約定しません。

指値の位置まで移動して始めて約定しますので、
これがトラップとして動作するということです。

親注文が約定すれば自動的に
利益確定と損切りの子注文が発注されますので
この後は自動です。

子注文にちょっとした工夫を

親注文が約定した(トラップが発動した)後に、
どちらの方向に値動きするかで
損益が左右されます。

トレンドがあるような相場状況の場合、
一定価格動いてトラップが発動したら
さらに同じ方向に動きそうです。

一方レンジ相場の場合は、
一定幅動いた後は
戻し圧力が働いて逆方向
(元の価格の方向)に動きそうです。

そこで、このロジックでは、
相場の状況により子注文の
利益確定の向きを切り替えています。

トレンドが強い場合は
親注文と同じ方向に利確ラインを
レンジ相場の場合は
親注文と逆方向に利確ラインを
入れるようにしています。

相場状況の判定には、
ADX(アベレージ・ディクショナル・インデックス)を用いています。

ADXについては、解説記事がありますので
こちらをご覧ください。

ADX~システムトレードに積極的に取り入れたいテクニカル指標

2018年11月27日

ADXが30を上回っている場合は
トレンド相場として、
20を下回っている場合は
レンジ相場として判断しています。

トラップトレードの動き

トレードプログラムから自動発注しますが、
トラップが発動しない場合は
注文が約定せず不成立となります。

親注文は、約定するものよりも
不成立となるものの方が圧倒的に多いです。

定期的にトレードプログラムを起動して、
IFDOCO注文を発注して
トラップにかかった注文だけで
売買していくことになります。

建玉は一定時間で強制決済

また、親注文が約定した後に
値動きが鈍く
利確ラインにも損切りラインにも
達しない場合も多くあります。

このような場合は建玉を
ずっと保持したままになってしまいます。

こういった状況を防ぐために
一定時間が経過したら
建玉を強制的に決済しています。
(これもプログラムからの自動処理)

まとめ

現在、成果報告を行っている
トレードプログラムについて解説しました。

ご覧いただいたように
ロジックとしては非常にシンプルです。

成績は勝率が高く小さな利益を
積み重ねていっているイメージです。

ただし、たまに比較的大きなドローダウンで
マイナスになることもあります。

とは言え一定時間で強制決済していることもあり
損失はそこまで大きくなっていません。

また、トレードプログラムの
損益計算はbitFlyer APIから
証拠金残高の変動履歴を取得し
ここから算出しています。

損益計算の方法についても
また別記事でご紹介します。