如何检查一个订单是否已被平仓止损 - 页 3

 
honest_knave:
滑动情况如何?
买入时<=,卖出时>=。
 
Jose Francisco Casado Fernandez:
是的,这就是我所说的。我是这么做的,而且成功了,但如果你修改了初始止损,它就会产生一个没有相同POSITION_ID的新订单。我不知道为什么。我想,这是一个错误。请注意,。
检查 这个问题,谢谢你和问候。
 
Roberto Jacobs:

不需要 看滑点 因为订单 已经 平仓 而且 平仓价格 HystoryDealGetDouble(ticket, DEAL_PRICE)
如果 订单没有 平仓 做了一个 平仓 订单 那么你应该考虑 有多少 滑点 这样才不会 出现错误重新报价。

如果我没有理解错的话,这并不准确。在一个真实的市场上,一个订单可以通过SL(或TP)在一个与仓位SL(或TP)不同的价格上关闭。
 
Roberto Jacobs:

不需要 看滑点 因为订单 已经 平仓 平仓价格 HystoryDealGetDouble(ticket, DEAL_PRICE)
如果 订单没有 平仓 做了一个 平仓 订单 那么你应该考虑 有多少 滑点 这样就不会有 错误 重新报价。

我不确定我是否理解。

HistoryOrderGetDouble(ticket,ORDER_SL)是止损。

当SL被触发时,你可以得到滑点。

HistoryDealGetDouble(ticket,DEAL_PRICE)将显示实际价格,它可能有也可能没有遇到滑点。

如果有滑点,简单比较ORDER_SL == DEAL_PRICE会失败,不是吗?

 
Jose Francisco Casado Fernandez:
是的,这就是我所说的。我是这么做的,而且成功了,但如果你修改了初始止损,它就会产生一个没有相同POSITION_ID的新订单。我不知道为什么。我想,这是一个错误。请注意,。

修改SL/TP的命令根本就没有保存在历史中。所以不知道你在这里的意思?

而实际由SL/TP触发的订单并不包含SL/TP。

 
Jose Francisco Casado Fernandez:
<=代表买入,>=代表卖出。
正向滑移怎么办?
 
honest_knave:

我不确定我是否理解。

HistoryOrderGetDouble(ticket,ORDER_SL)是止损。

当SL被触发时,你可以得到滑点。

HistoryDealGetDouble(ticket,DEAL_PRICE)将显示实际价格,它可能有也可能没有遇到滑点。

如果有滑点,简单比较ORDER_SL == DEAL_PRICE会失败,不是吗?

当然了。
 
Alain Verleyen:
如果我没有理解错的话,这并不准确。在一个真实的市场上,一个订单可以通过SL(或TP)在一个与仓位SL(或TP)不同的价格上关闭。
是的,Alain,如果Bid>close_price+spread或Ask<close_price-spread怎么办?
 
Roberto Jacobs:
是的,Alain,如果Bid>close_price+spread或Ask<close_price-spread怎么办?

点差!=偏差(滑移)。

很遗憾的是,无法检索偏差参数

可能一个合理的折衷办法是(假设EA下单),检查DEAL_PRICE 是否在ORDER_SL± 偏差的窗口内。

 
Roberto Jacobs:
是的,Alain,如果买入价>收盘价+价差或卖出价<收盘价-价差,怎么办?
对不起,我不明白你的意思?