Как проверить, был ли ордер закрыт по стоп-лоссу - страница 3

 
honest_knave:
Что насчет проскальзывания?
<= для покупок и >= для продаж.
 
Jose Francisco Casado Fernandez:
Да, это то, о чем я говорил. Я сделал так, и это сработало, но если вы измените первоначальный Stop Loss, он генерирует новый ордер БЕЗ того же 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:
Да, это то, о чем я говорил. Я сделал так, и это сработало, но если вы изменяете начальный Stop Loss, он генерирует новый ордер БЕЗ того же 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).
Да, Алена, а если Bid > close_price+spread или Ask < close_price-spread?
 
Roberto Jacobs:
Да, Ален, что если Bid > close_price+spread или Ask < close_price-spread

спред != отклонение (проскальзывание)

Жаль, что невозможно получить параметр отклонения.

Возможно, разумным компромиссом будет (если предположить, что советник разместил ордер) проверить, была ли цена DEAL_PRICE в пределах окна ORDER_SL± отклонение.

 
Roberto Jacobs:
Да, Алена, а что если Bid > close_price+spread или Ask < close_price-spread?
Извините, но я не понимаю, что вы имеете в виду?
Причина обращения: