FX初心者のmt4システムトレード自動売買録-無料EA配布中-

fx初心者が、MT4で試行錯誤の上作成した自動売買システムの成果を記録しているブログです。プログラムのメモや、エントリーポイントなどを開設公開しています。無料EA配布中

EA作成メモ・MQLメモ スリップページについて

 先日の強烈な上昇トレンド+雇用統計に伴う相場の荒れはすごかったですね~

その影響もあってか、スリップページによると思われるEAの決済エラーがまた発生していました。しかもたちが悪いことに、ログを見ても何も残ってない。。

 

 

1.そもそもスリップページとは

 

 そもそもスリップページとは何かというと、毎分毎秒と変動する相場の中で、自分たちは注文を出しているわけなのですが、この注文を出してから約定するまでに 、相場って当然動きますよね? ドル円で言うと自分が注文を出したタイミングでは、101.500円だったのに、約定レートが101.499円や101.480円になってたりしますよね。これをどの程度まで許容できますか?という数値がスリップページです。

EAで言うと初期値では3ポイント(3桁の業者だと0.3ピップ=0.001円)に設定されていると思います。

※1ピップ=0.01円

2.EAの決済が上手く動作しない原因

前回の記事では、スリップページを超える動きがあり決済が上手くいかない場合は、エラーコード138が発生するとのことでしたが、ログを見てもエラーが発生していなかったのでどうして?

と困惑しましたが、他サイトで見てみると、スリップページによる決済不具合については、エラーコードが発生しないとの記述もありました。

結局どっちなんだい!ということですが、、、調べてもよくわからず仕舞いでしたので、とりあえず、某サイトの情報を信じてスリップページを大きくするのと一応エラー回避のプログラムを入れて様子を見てみようと思っています。

荒れ相場がない限りはたぶん大体うまくいくのでしょうが。。

 

fxmt4jidou.hatenablog.com

 

 

3.対処方法

 前述した通り、結局確かな原因はわかりませんでしたので、とりあえずスリップページ(許容)を増やすのとエラー回避のプログラムを以下の通り入れました。(エラーコードが出てないので、エラー回避を入れても意味はないかもしれませんが、、、)

エラーコードを表示するコードの下に以下のコードを加えました。

Sleep(100); //100秒待機
RefreshRates(); //価格を更新
if(!OrderClose(OrderTicket(),OrderLots(),MarketInfo(Symbol(),MODE_ASK),slip,White)){
Print("OrderClose error2",GetLastError()); //再注文、通らなければエラーコードを返す