作者natureluke ()
看板Trading
標題Re: [問題] MQL4程式問題
時間Wed Oct 23 01:35:34 2019
※ 引述《natureluke ()》之銘言:
: OrderSend(_Symbol,OP_BUY,0.01,Ask,9,sl,tp,"EA",mn,0,clrBlue);
: 請問在回測的時候,當價格達到tp或sl後,為什麼EA會停止之後所有的交易?
: 換句話說,符合OrderSend的tp或sl條件後,如何重啟EA交易呢?
: 附帶說明,如果不設停損停利(tp=0, sl=0),則EA之後回測都正常,
: 先感謝回復!
找到這個問題了,
因為除了透過OrderSend的停損/停利(sl/tp),還有其他停損/停利的程式,例如
void StopLoss()
{
...
fOrder=false;//更改狀態的旗標
}
與
void TakeProfit()
{
...
fOrder=false;//更改狀態的旗標
}
問題在於透過OrderSend停損/停利(sl/tp)時,旗標的狀態(fOrder)沒改到
不過也衍伸另一個問題,
請問當觸發OrderSend的停損/停利(sl/tp)時,除了用
if(OrdersTotal()==ordersTotal-1 && tickPrice==sl) {StopLoss();}
或
if(OrdersTotal()==ordersTotal-1 && tickPrice==tp) {TakeProfit();}
有其他更好的偵測方法嗎?
換句話說,OrderSend的sl/tp被觸發時該如何偵測呢?
再次先感謝回復!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.217.143.68 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Trading/M.1571765736.A.648.html
※ 編輯: natureluke (180.217.143.68 臺灣), 10/23/2019 01:38:19
1F:→ n33222: 單張策略用MAGIC NUM,多單策略我會再多加一個RULE去檢測 10/28 12:50
2F:→ n33222: 你的旗標狀態是為了避免重複下單?,如果是我會比較推薦 10/28 12:51
3F:→ n33222: MAGIC NUM 搭配 BAR的方式。 10/28 12:51