如何检查一个订单是否已被平仓止损 - 页 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,如果买入价>收盘价+价差或卖出价<收盘价-价差,怎么办?
对不起,我不明白你的意思?