试试
if(IsNewTFbar(線圖週期) && OrdersTotal()==0) 改成 if(IsNewTFbar(線圖週期) && PositionsTotal() ==0)
OrdersTotal():指的是挂单
PositionsTotal() :指的是已成交的单
朋友 你提的問題 還真的很難懂
假設 你的問題是 "MT5 EA回測後的結果報表中,只有交易一口. 這種的情況下, 點差這麼多正常嗎? "
除了樓上莊神指出的問題外 我發現其他可能的問題 並給點建議
if(IsNewTFbar(線圖週期) && OrdersTotal()==0) //這個區塊沒使用掛單 所以應該要檢查的是持倉 用PositionsTotal() { Print(__LINE__); //用來檢查上一句的兩個條件是否通過 if(點差>=SymbolInfoInteger(Symbol(),SYMBOL_SPREAD) || 點差==0)//檢查點差 { Print(__LINE__); //用來檢查上一句點差的條件是否通過 if(目前多頭持倉+目前空頭持倉<最大總持倉) { Print(__LINE__); //用來檢查上一句持倉的條件是否通過 if(多頭訊號=true) { . .
啟用回測時 使用可視化的功能 觀察一下 應該要開單 結果卻沒開單的條件是哪一個
如果你提問題是太大的"停損點" 在交易日誌中回報錯誤的止損 那就檢查一下你設置的停損點是不是太小
或將 SYMBOL_TRADE_TICK_SIZE 改成SYMBOL_POINT試看看(兩個值應該是一樣的 但是在某些品種或部分平台 可能不一樣)
^回測結果的圖表
如題目,想請教一下
MT5 EA回測後的結果報表中,只交易一口的情況下停損點這麼多正常嗎