EA作成メモ:自作したEAを複数業者で使うときの注意点

以前から気になっていたことがあります。作ったEAをほかの業者でバックテストすると結果が異なるのです。ヒストリーデータの違いもあるので仕方ないとあきらめていた部分と、明らかにエラーが出て同じように動いていない部分とがありましたが、未解決でした。

今回、現在作成中のEAがなかなかよくできたので複数通貨の並行バックテストを実施するため、他の三つのブローカーのMT4に配布したのですが、やはりその問題に直面。具体的にはトレイリングストップが機能しないんです。このままではせっかくうまくできたEAも1口座でしか動かせないことになります。

重い腰をあげて調べてみました。私の場合、ロジックが根本的に間違っている可能性もありますが、開発口座では一応要件通り動いているので、各口座の差異を調べてみました。
すると、STOPLEVELというものが、口座ごとに値が異なることがわかりました。トレイリングストップの幅はSTOPLEVEL以上でないといけないようなのですが、開発口座のSTOPLEVELが最小の様です。その仕様に合わせたトレイリングストップ値をセットすると口座だと各口座のSTOPLEVEL以下となり、オーダー修正エラーとなるようです。

トレイリングストップの関数にSTOPLEVELとトレイリングストップ値を比較し大きいほうにセットするように変更して何とかエラーは回避できました。

Back to Top