はじめに
MT4/MT5はFXをはじめ様々な取引のプラットフォームに利用されるソフトウェアですね。
MT4/MT5ではEA(自動売買ロジック)を実装して独自の戦略による自動トレードも可能であり私も利用しています。
そんな際に、「OrderSend Error 130」というエラーが発生することがありました。今回はこのエラーの原因と対策に関して記載していきます。
OrderSend Error 130の原因
// MT4のエキスパートアドバイザーの操作履歴に表示されるメッセージ 2019.03.28 23:35:00 fxStrategy USDJPY,M5: OrderSend error 130
「OrderSend Error 130」のエラーはEAの操作履歴に上記のようなエラーとして表示されます。
エラー発生のトリガーは、損切り(利確)注文を実行する際に発生します。そして、エラー発生の原因ですが以下となります。
- 損切り(利確)価格が現在価格に近すぎる
- 価格が適切ではない。(買いオーダーなのに、現在値より高い値を指定している等)
恐らく(というかほとんど)一つ目の理由で発生させる人が多いかと思います。あまりに現在価格に近いストップ値はブローカーの処理エンジンに負荷をかけることもあり、一定のストップレベル以上離れていないと設定ができません。
※ストップレベルとは現在価格からの値幅制限です。これより大きくないと注文が成立しません。
恐らく利用するFX会社により異なると思います。私はOANDAを利用していますが、9pipsがストップレベルのようです。(2019/3/31時点)
対策
ということで基本的には不正の価格への注文発行や、現在の価格に近いところに注文を発行しているのが原因です。
対策としては、当たり前ですが、より現在価格より離れた価格に注文を発行するようにするしかありません。
まとめ
今回は、珍しくMT4/MT4のEAの話題でした。私はOANDAを取引会社に利用してMT4のEAトレードを利用しています。
OANDAはトレード向けに様々なコンテンツを積極的に配信しており勉強にもなるので個人的にはおススメです。OANDA FXラボは今でもたまに覗いています。
OANDA Lab 一覧 | OANDA FX Lab-education(オアンダ ラボ)
ちなみに、当時OANDAを選んだ利用はAPIが利用できたからですね。昔はPythonプログラムからトレードしていました。