在一些经纪公司中删除了[tp]标签? - 页 3

 
cameofx:

[...] 为什么MT4和MT5引入了OrderCloseReason()或其他东西?

不知道...但这是可以解决的,所以不是什么大问题。
 
gordon:
我不知道...但这是可以解决的,所以这不是什么大问题。

是的......那我在哪里可以保持SL和TP的更新,OrderComment()?

在MT5中,有很多新的好东西,总之赞美多于抱怨。

 
cameofx:

是的......那么我在哪里可以保持SL和TP的更新,OrderComment()?

不,我不建议这样做(IMHO)。请参阅我之前关于服务器覆盖评论的言论(https://www.mql5.com/en/forum/123668/page2#267154)。自从我写了那篇文章后,我发现有超过6个字符被服务器覆盖的情况(例如->https://www.mql5.com/en/forum/124167),所以我不会完全相信它。


如果是虚拟的TP/SL,那么就把它们的值保存在一个数组中。但你必须在EA中建立持久性功能,否则在完全失败的情况下(终端重启、断电等),这些值就会丢失。

 
gordon:

不,我不建议这样做(IMHO)。请参阅我以前关于服务器覆盖评论的评论(https://www.mql5.com/en/forum/123668/page2#267154)。自从我写了那篇文章后,我发现有超过6个字符被服务器覆盖的情况(例如->https://www.mql5.com/en/forum/124167),所以我不会完全相信它。


如果是虚拟的TP/SL,那么就把它们的值保存在一个数组中。但你必须在EA中建立持久性功能,否则在完全失败的情况下(终端重启、断电等),这些值就会丢失。

"......如果是虚拟的TP/SL...... "我们还是在检查一个订单是否被SL/TP/Other关闭的问题上,对吗?如果它是虚拟的,那么我们就会知道收盘价和它是如何收盘的。

你已经解决了持久层的能力问题,Gordon?谢谢。

 
cameofx:

"......如果是虚拟的TP/SL...... "我们还是在检查一个订单是否被SL/TP/Other关闭的问题上,对吗?如果它是虚拟的,那么我们就会知道收盘价和它是如何被关闭的。

正是如此。问题只出现在有服务器端TP/SL的情况下,另外,EA在某些情况下可能会或可能不会手动平仓....。


你解决了持久层的能力问题吗,戈登?

当然。这里有一个关于这个话题的很好的讨论-->https://www.mql5.com/en/forum/119716。
 

谢谢。

https://forum.mql4.com/25078。 - 提供了很多很好的见解,但我可以从中得到的一点是,MT4(也许也是-5,到目前为止),在很多方面没有适应 "自动交易"。

现在我想实现的是"虚拟 自动交易",尽可能少的 "忧虑"。我根本做不到(还)那么多预防的变通,甚至像fbj这样的老手都需要黑掉。如果开发者准备让交易者真正负责任地 进行自动交易,那么,通过各种方式,我将在无人看管的情况下,在真实账户上释放一个EA,持续X个月/年。

 
gordon:

Hmmm....也许我遗漏了什么,但是否有任何情况下,以下的做法是不够的?

   // select the closed order first and then do this:
   
   double sl_diff = MathAbs(OrderClosePrice() - OrderTakeProfit()),
          tp_diff = MathAbs(OrderClosePrice() - OrderStopLoss());
   
   if ( sl_diff > tp_diff )
      Print("order closed at tp");
   else
      Print("order closed at sl");
 

//我在这里假设sl_diff和tp_diff相等是不可能的...?

事实上,在封闭的订单中有3种情况。

1.价格达到止盈值。(TP)
2.价格触及止损值。(SL)
3.一段时间后,交易员在没有击中TP/SL的情况下手动关闭订单。

我的问题是:如何知道我的历史订单的3种不同的关闭原因?谢谢。


 
这个问题在主题中已经回答过了。请看cloudbreaker在这里的回答->https://www.mql5.com/en/forum/123668。 这里没有捷径,这是唯一的方法。
 
好的,谢谢你。 戈登。我将仔细研究这个方法。事实上,我现在并不了解它。
 

我可以从颜色中获得订单关闭的原因吗?

因为我发现

1.如果订单被SL关闭,止损值的颜色为红色。
2.如果订单被TP关闭,止盈值的颜色为绿色。
3.如果订单被手动平仓,数值的颜色不会改变。

谢谢。