错误 4756 - 页 4

 
RaptorUK:

我想,我将确认,我在策略测试器中也看到了同样的问题,不确定这到底是如何发生的,我将再试一次,增加一些错误报告以确保。

好的,一个谜团解决了......我没有意识到策略测试器中 使用的点差是从历史数据中提取的,特别是M1数据。 我在策略测试器运行中出现无效止损的原因是点差大于我的SL。 我会为此添加一个测试。

 

Konstantin83:
2013.03.10 11:19:18    2012.01.04 15:00:00   failed buy stop 1.00 EURUSD at 1.30505 sl: 1.28375 tp: 1.30375 [Invalid stops]

我不明白无效的止损。滑动点低于买入滑动点:1.28375 <1.30505 ?

 
Konstantin83:

CopyHigh(_Symbol,_Period,TimeCurrent(),5,hg);

Top = NormalizeDouble(rates[ArrayMaximum(hg,0,WHOLE_ARRAY)].high,_Digits); 

-误解 设计。
最大的双倍 值中选择 ,并 使用 代替 整数 指数

谢谢Konstantin83

但我不明白你说什么。

top是过去5根蜡烛的最高值,top是双倍的,而不是整数指数。

顶部
 

dan5:

我不明白无效止损的意思,止损点低于买入点:1.28375 <1.30505 ?


不要把 "无效止损 "看得太重,它不仅仅是指止损,它也可以是进场价格和/或止损点。 当你遇到错误时,请打印以下信息,它将帮助你找出出错的原因。

  1. 交易类型,买入限价,买入,卖出,卖出止损,等等。
  2. 卖出价
  3. 买入价
  4. 入场价格
  5. SL
  6. 止损点
  7. 冻结价
  8. 止损价位
  9. 错误号码(如果你真的想的话,还有错误描述)
你还应该阅读这篇文章,它是为mql4写的,但我很确定它仍然适用于mql5:做交易的要求和限制
Requirements and Limitations in Making Trades - Appendixes - MQL4 Tutorial
  • book.mql4.com
Requirements and Limitations in Making Trades - Appendixes - MQL4 Tutorial
 

dan5:

2013.03.10 11:19:18 2012.01.04 15:00:00 买入止损1.00 EURUSD at 1.30505 sl: 1.28375 tp: 1.30375 [无效的止损]


我不明白无效止损。Sl低于买入 Sl:1.28375 <1.30505 ?


你是否注意到1.30505的进场价>TP 1.30375?
 
RaptorUK:
你是否注意到1.30505的入市价>1.30375的TP?

谢谢你的帮助,我修改了我的sl和tp,现在好了。

mrequest.sl = NormalizeDouble( mrequest.price + STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble( mrequest.price - TKP*_Point,_Digits); //Take Profit

而不是

mrequest.sl = NormalizeDouble( latest_price.bid + STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble( latest_price.bid - TKP*_Point,_Digits); // Take Profit.

 
dan5:

谢谢你的帮助,我修改了我的sl和tp,现在好了。

mrequest.sl = NormalizeDouble( mrequest.price + STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble( mrequest.price - TKP*_Point,_Digits); //Take Profit

而不是

mrequest.sl = NormalizeDouble( latest_price.bid + STP*_Point,_Digits); // 止损
mrequest.tp = NormalizeDouble( latest_price.bid - TKP*_Point,_Digits); // 获利。

这是个好消息,希望你不介意我颠覆你的主题,但我认为我们最后都得到了有用的东西 :-)
 
RaptorUK:
这是个好消息,希望你不介意我颠覆你的话题,但我认为我们最后都得到了一些有用的东西 :-)
你是否找到了其他的解决方案,我建议用OnTradeTransaction 在市场执行(ECN经纪人)的情况下进行sl & tp?
 
angevoyageur:
你是否找到了其他的解决方案,我建议用OnTradeTransaction 在市场执行(ECN经纪商)的情况下进行sl & tp?
我在这个帖子中建议的代码https://www.mql5.com/en/forum/11051#comment_446272,据我所知,它可以正常工作,我认为它在策略测试器中不工作,因为我关于点差固定(如MT4)的假设是错误的。我的代码现在可以在策略测试器中工作,在Demo中,对于执行类型为即时或交易所执行的符号,我的代码会确定其类型并发送适当的请求。 理想情况下,我希望我的代码能自动处理任何执行类型。
 
RaptorUK:
我在这个帖子中建议的代码https://www.mql5.com/en/forum/11051#comment_446272,据我所知,它可以正常工作,我认为它在策略测试器中不工作,因为我关于点差是固定的(如在MT4中)的假设是错误的。我的代码现在可以在策略测试器中工作,在Demo中,对于执行类型为即时或交易所执行的符号,我的代码会确定其类型并发送适当的请求。 理想情况下,我希望我的代码能自动处理任何执行类型。
啊,好的,我错过了。