取引実行モードがカウントダウン方式か成行注文方式どうかの自動判定方法

◎概要

MQLプログラムから成行注文を発注する場合、
該当証券会社MT4サーバの取引実行モードが、「成行方式」、「カウントダウン方式」の違いによって、処理を変える必要があります。

具体的には、

「成行方式」の場合、成行注文の発注と利益・損失の設定をセットでできるので問題ないですが、

「カウントダウン方式」の場合、成行注文の発注と利益・損失の設定をセットでできない為、

①成行注文の発注(利益・損益は0設定)

②利益・損益を修正する。

と分けて処理する必要があります。

なお、MQLプログラム内部に、下記の詳細の様に記述すれば、自動判定可能です。

◎詳細

1,取引実行モード変数の宣言
ENUM_SYMBOL_INFO_INTEGER TradeExeMode;

2,初期化関数の中で、取引実行モードを取得する。

int init() {

//取引実行モードの取得
TradeExeMode=SymbolInfoInteger(Symbol(),SYMBOL_TRADE_EXEMODE);
Print(“TradeExeMode=”,TradeExeMode);

return(0);
}

3,発注関数の中で、成行方式、カウントダウン方式の処理を分岐させる。

////////////////////
//SYMBOL_TRADE_EXECUTION_REQUEST 0
//SYMBOL_TRADE_EXECUTION_INSTANT 1
//SYMBOL_TRADE_EXECUTION_MARKET 2
//SYMBOL_TRADE_EXECUTION_EXCHANGE 3
////////////////////
int doOrderSend(
//成行方式の場合
if(TradeExeMode==0 || TradeExeMode==1){
}

//カウントダウン方式の場合
else{
}
}

売上げランキング
スポンサーリンク

フォローする