カウントダウン方式の発注処理

 最近昔作ったEAのコードを見返す機会があったのですが、その中ですごく懐かしい処理を見かけました。

 いわゆる「カウントダウン方式」と呼ばれる処理です。

 昔のMT4は、成行注文とカウントダウンという2つの取引方式がありました。どちらの方式で取引となるかは、ブローカー毎に違っていたので、ブローカー選びも今より大変でした。
 成行注文はエントリー時にTP/SLを一緒に注文できました。現在のMT4と一緒です。
 カウントダウン方式の場合はTP/SLを一緒に注文できませんでした。ではどうやってTP/SLをセットするかというと、一旦TP/SL無しで発注し、エントリーしたポジションに対してOrderModifyでTP/SLをセットしていました。
 EAによってはブローカーがカウントダウン方式かどうかをパラメータで選択させて、OrderSendで一緒に発注するか、発注後にOrderModifyを使うかを分岐させたりしてました。
 昔のEAは面倒な一手間が必要だったのです。

 2014年9月にリリースされたbuild 710からは、全てのブローカーでTP/SLを付けて発注できるようになったため、この手間はいらなくなりました。今でもbuild 710より古いバージョンを使っているトレーダーはいないと思うので、今後新しく作るEAでは考慮する必要はありません。

 古いEAのソースを検索したりすると、OrderSendの後にOrderModifyを実行してTP/SLをセットしているかもしれませんが、このような経緯があって実装された処理です。現在は不要なのでOrderModifyせずにOrderSendでTP/SLをセットしましょう。何かの拍子(停電など)でOrderModifyが実行されず、SLがセットされないと怖いですからね・・・

arrow_upward