交易模式不支持,源代码里面写死了 trade.SetTypeFilling(ORDER_FILLING_FOK);
这个交易模式,有些平台没发支持,初始化的时候将这行代码替换成这个就可以了
// 获取交易品种支持的填充模式(位掩码)
int filling_mode = (int)SymbolInfoInteger(_Symbol, SYMBOL_FILLING_MODE);
if(filling_mode == 0)
{
Print(__FUNCTION__, ":无法获取 ", _Symbol, " 的填充模式");
return false;
}
// 优先使用 FOK(全有或全无)
if(filling_mode & SYMBOL_FILLING_FOK)
{
trade.SetTypeFilling(ORDER_FILLING_FOK);
Print(__FUNCTION__, ":已设置填充模式为 ORDER_FILLING_FOK");
return true;
}
// 其次使用 IOC(立即或取消)
else if(filling_mode & SYMBOL_FILLING_IOC)
{
trade.SetTypeFilling(ORDER_FILLING_IOC);
Print(__FUNCTION__, ":已设置填充模式为 ORDER_FILLING_IOC");
return true;
}
// 若都不支持(理论上极少出现),输出错误并返回 false
else
{
Print(__FUNCTION__, ":错误 - ", _Symbol, " 不支持 FOK 或 IOC 填充模式");
return false;
} |