見出し画像

【MQL5】OderSendで注文を出す-request.type_filling

request構造体 request.type_filling部分 だけのサンプルコード

request.type_filling に関数を渡す

//構造体のセット
MqlTradeRequest request; // To be used for sending our trade requests トレードリクエスト
MqlTradeResult result; // To be used to get our trade results トレード結果
MqlRates rate[]; // To be used to store the prices, volumes and spread of each bar レートセット
//構造体初期化
ZeroMemory(request); // Initialization of request structure
//中略
request.type_filling = GetFilling(request.symbol); // Order filling type この部分で関数を呼び出す
//後略

GetFilling関数部分

//GetFilling関数
ENUM_ORDER_TYPE_FILLING GetFilling( const string Symb, const uint Type = ORDER_FILLING_FOK )
{
const ENUM_SYMBOL_TRADE_EXECUTION ExeMode = (ENUM_SYMBOL_TRADE_EXECUTION)::SymbolInfoInteger(Symb, SYMBOL_TRADE_EXEMODE);
const int FillingMode = (int)::SymbolInfoInteger(Symb, SYMBOL_FILLING_MODE);

return((FillingMode == 0 || (Type >= ORDER_FILLING_RETURN) || ((FillingMode & (Type + 1)) != Type + 1)) ?
(((ExeMode == SYMBOL_TRADE_EXECUTION_EXCHANGE) || (ExeMode == SYMBOL_TRADE_EXECUTION_INSTANT)) ?
ORDER_FILLING_RETURN : ((FillingMode == SYMBOL_FILLING_IOC) ? ORDER_FILLING_IOC : ORDER_FILLING_FOK)) :
(ENUM_ORDER_TYPE_FILLING)Type);
}


ギターで言うところの最初の壁 Fセーハ ではなかろうか
前もって知識が無いとクロスプラットフォーム対応でぶち当たって深い悩みで過ごす羽目になりがちな部分かなと思われます。

コピーで制覇しちゃいましょう

※参照 https://www.mql5.com/en/forum/393227/page4

この記事が気に入ったらサポートをしてみませんか?