自分が作っているEAの中で、バックテスト、フォワードテスト、その他テストでもかなりの好成績を収めていて、期待もしていたEAがあったのですが、なぜか思うような成績にならずに負け続きになっていたEAがありました。う~んおかしいなぁ。。。なんて思いながら数か月運用を続けていたのですがやっぱりおかしいということで、色々と調べてみるとFXトレード、EA作成の際に必ず考えなければならないスプレッドを考慮していないという初歩的なミスでした。。のでメモと戒めもかねて記事にしてみました。
1.負けの原因はスプレッド!?
初歩的過ぎて考えにも及んでいなかったのですが、FXトレード、EA作成の際に必ず考えなければならないスプレッドをすっかり忘れていたのが原因で、思うように成績が上がっていませんでした。
正直なところ、スプレッドなんて誤差の範囲だと思っていたのですが、ある時、スプレッドがめちゃくちゃ広がっているのを目の当たりにしたことから、成績不振の原因について当たりがつきました。
スプレッド制御について、調べるとあっさりMT4のサーバーからスプレッドを取得できる関数を発見できたので早速導入してみました
【スプレッドを取得する関数】
MarketInfo(Symbol(),MODE_SPREAD)
2.対処方法
自分はこんな感じでプログラムに取り入れました。
if( MarketInfo(Symbol(),MODE_SPREAD) <= MaxSpread ){
注文の関数
}
単純ですが、かなり重要なので必須です!
3.結論・・・楽天FXの朝のスプレッドはめちゃくちゃ広い!
スプレッドについて調べて初めて知ったのですが、朝(特に日本時間で7時台)は取引量が少なくなって、スプレッドがものすごく広がる傾向があるみたいで、どこのFX業者もそうらしいのですが、たまたま朝に楽天と他の海外FX業者と比較してみてみると、
海外FX業者は30~50といった感じですが、楽天のスプレッドだけを見てみると、80近辺をウロウロという感じでものすごく広いスプレッドになっていて驚愕しました。
それも8時台になった瞬間に落ち着いていつも通りのスプレッド(5)に戻りましたが、これを見るとスプレッド制御の重要が身に沁みますよね。。。