MT4のEAについて質問です。 EAに注文させたポジションの"買い"と"売り"を識別した…

MT4のEAについて質問です。
EAに注文させたポジションの"買い"と"売り"を識別したいです。

OrderSelect関数で選択し、その後
何らかの処理で識別したいのですが、
いい方法はないでしょうか。

EAにint型の
変数$magic_L,$magic_Sを用意し、
[76(買い]・[83(売り)]を格納して、
買いの注文をOrderSend(…magic_L…)
売りの注文をOrderSend(…magic_S…)
で振り分け、OrderSelect関数で選択して
OrderMagicNumber()で識別すると
マジックナンバーが複数あり
よろしくないですよね。

EAにstring型の
変数$comment_l,$comment_Sを用意し、
["Long"]・["Short"]を格 納して、
買いの注文をOrderSend(….."comment_L"..)
売りの注文をOrderSend(….."comment_S"..)
で振り分け、OrderSelect関数で選択して
OrderComment( )で識別する
というのはアリでしょうか?
コメントはコメントで使いたいですが、
他の方法が思いつかなくて困っています。

今まではマジックナンバーのみが
異なる同じEAを二つ用意して、
[Only Long]・[Only Short]
でそれぞれ適用して、
識別していたのですが、
同じタイミングで両建てをしたいので、
[Long & Short]で適用して、
EA内で識別したいと考えています。

もっとスマートな識別方法はないでしょうか。

回答1

orderType()== OP_BUY

とかではダメですかね?
http://mt4-traders.com/reference/ordertype/

もしくは、1つのエントリー条件につき1ポジションでよいのであれば

グローバルエリアにて
TicketNum_BUY;
TicketNum_SELL;

エントリー時

TicketNum_BUY = OrderSend(…);

決済時オーダーセレクト
OrderSelect(TicketNum_BUY…);

これならオーダーセレクトで必ず買いポジションだけをオーダーセレクトできます。

オーダーセレクトのモードはインデックスではなくチケット番号にします。
http://mt4-traders.com/reference/orderselect/

回答2

知恵コイン500枚じゃないと誰も答えないよ


Originally posted 2019-09-09 18:43:40.

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA


Translate »