作者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/cn.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