はじめまして。MT4のEA(MQL)でのオープンポジションの総ロット数の求め方がござい…

ましたらご教授ください。

回答1

//スクリプトの例です。
//買いポジションと売りポジションのロットは相殺しません。
//通貨ペアはチェックしていません。

input int InpMagicNumber = 9999;//マジックナンバー

//指定マジックナンバーのオープンポジションの
//総ロット数を取得する関数
double TotalLots(){
int i;
double lots = 0;

for(i = OrdersTotal()-1; i >= 0; i–){
if(OrderSelect(i,SELECT_BY_POS) == false) continue;//セレクト失敗した時
if(InpMagicNumber != OrderMagicNumber())continue;//マジックナンバーが異なる時
lots += OrderLots();
}

return lots;
}

int OnStart()
{
//オープンポジションの総ロット数をログに表示
printf("TotalLots() = %g", TotalLots());
return 0;
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA