各位大神这个问题怎么办 在欧美就可以用放在别的货币对就不行了
这是因为不同的品种的filling mode可能不一样,你的EA中要根据品种来设置单子的filling type,这样编写的EA就有普适性。
标准库trade.mqh已解决这个问题了,建议用标准库来编写EA。
在你的EA的初始化函数中调用这个 SetTypeFillingBySymbol(...)
//+------------------------------------------------------------------+ //| Set order filling type according to symbol filling mode | //+------------------------------------------------------------------+ bool CTrade::SetTypeFillingBySymbol(const string symbol) { //--- get possible filling policy types by symbol uint filling=(uint)SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE); if((filling&SYMBOL_FILLING_FOK)==SYMBOL_FILLING_FOK) { m_type_filling=ORDER_FILLING_FOK; return(true); } if((filling&SYMBOL_FILLING_IOC)==SYMBOL_FILLING_IOC) { m_type_filling=ORDER_FILLING_IOC; return(true); } //--- return(false); }
Ziheng Zhuang:
这是因为不同的品种的filling mode可能不一样,你的EA中要根据品种来设置单子的filling type,这样编写的EA就有普适性。
标准库trade.mqh已解决这个问题了,建议用标准库来编写EA。
在你的EA的初始化函数中调用这个 SetTypeFillingBySymbol(...)
谢谢