求救文:我已經完成的EA,在沒有偵測到任何錯誤的情況下,有些卷商可以執行,有些不行,請問有誰知道是發生什麼狀況?()

 

如標題,我在Darwinex的MT5可以完成回測與交易成功

如附件:未命名

在其他眷商FXPRO (附件2) ICMARKETS (附件3) 卻都出現 unsupported filling mode

我找了半天 都沒有找到原因

請問有誰遭遇過類似狀況嗎?


附加的文件:
8jr.png  91 kb
2.png  65 kb
83.png  109 kb
 
不同的交易商,有不同的最小交易量的限制,有的是1,有的是0.01
 
ender:

如標題,我在Darwinex的MT5可以完成回測與交易成功

如附件:未命名

在其他眷商FXPRO (附件2) ICMARKETS (附件3) 卻都出現 unsupported filling mode

我找了半天 都沒有找到原因

請問有誰遭遇過類似狀況嗎?


填充类型错误, 说明您的开单代码有漏洞,EA不是用的标准的交易类库下单, 标准类库下单不存在这个问题。

 

oxilide #:
不同的交易商,有不同的最小交易量的限制,有的是1,有的是0.01


讚~ 這個我有檢查過了
所以都用外匯測試,謝謝您提供方向
 
Tiecheng Fu #:

填充类型错误, 说明您的开单代码有漏洞,EA不是用的标准的交易类库下单, 标准类库下单不存在这个问题。

Dear  Tiecheng Fu ,

請問標準類庫下單的指令是什麼呢?

求 標準 下單指令。



我剛爬了一下:
trade.Buy(Lots,NULL,0.0,sl,tp,Comms);

這串不知道可不可以改善這個問題


以下是我參考教學版的寫法:

MqlTradeRequest request={};

               MqlTradeResult  result={};

               request.action   =TRADE_ACTION_DEAL;                     // 交易操作類型

               request.symbol   =Symbol();                              // 交易品种

               request.volume   =Lot * lotDouble;                                   // 交易量 

               request.type     =ORDER_TYPE_BUY;                        // 訂單類型

               request.price    =SymbolInfoDouble(Symbol(),SYMBOL_ASK); // 持倉價格

               request.deviation=5;        // 允許價格偏差

               request.tp       =TP;      //停利                              

               request.magic    =magicBuy;                               // 訂單號

               if(!OrderSend(request,result))

                  PrintFormat("OrderSend error %d",GetLastError());     

               PrintFormat("retcode=%u  deal=%I64u  order=%I64u",result.retcode,result.deal,result.order);


執行交易使用以下:

if(!OrderSend(request,result))

            PrintFormat("OrderSend error %d",GetLastError());

 

訂單的類型有三種 可以查一下幫助文件的 ORDER_TYPE_FILLING

你測試時 有部分的平台不能用 換一下類型即可

但是你要確定一下 該類型是不是你要的交易模式

原因: