デモ環境とリアル環境では実際に使って見ないと分からない違いがあります。特にオーダ関連での挙動が異なることがあります。今回は、価格差(スリッページ)についての報告です。
スリップページ
XMのマクロ口座で実際に自作グルトレEAを動作させてみましたが、逆指値注文でのスリッページの指定は無効だったりするので、約定したオーダで価格差が発生します。
多くの他のブローカーで運用している訳でも無いので断言できませんが、頻度は高めです。
10Pips間隔で待機オーダを設定していますが、4.9Pips差で約定しているオーダが存在します。
プログラムの問題点
リピート系ですのでオーダが約定後に決済されれば、そのレートの待機オーダを注文することになります。
プログラムの作りは、Gridレートと「オーダの注文レートまたは、約定レート」を比較してGridレートが存在しない場合、待機オーダを注文します。その時、EAパラメータのスリッページ分の誤差を考慮しています。
今回の様に、「逆指値注文でのスリッページの指定は無効」となると、このロジックは使えません。同レートにオーダが2重に注文される可能性が考えられます。
対処
Ticketを保持して管理する方法も考えましたが、EAの再起動などの対応(レートとTicketとの関連をファイルに保持等)は面倒だし、トラブルの元になる。
そこで、コメント欄を活用する方法で対処することにしました。
- コメント欄にレートを付与する
- オーダのレートとの比較部分をコメント欄から取得したレートと比較する
コメント欄をパラメータで指定できるようにしていたが、パラメータから削除。
これで、同レートのオーダを2重に注文するすることは無くなるはず。
→version 2.02 で対応
(2019/2/2追記)
2/1の雇用統計(ドル円)でテストした結果です。かなりスベってます。
レート109.00の待機オーダは再設定されていないので、想定通り動作している様です。
コメント