Ордер закрылся: по SL или TP

 
Дан Magic number ордера, который закрылся. Как определить, закрылся ли ордер по SL и по TP? Ведь цена закрытия может не совпадать с ценой SL (или TP).
 

Вот здесь есть ответ на этот. И на многие подобные другие вопросы.

'Полезные функции от KimIV'

 
Нашел функцию isCloseLastPosByTake(). Но там проверяется условие "if (ocp==otp) return(True);", т.е. точное совпадение. Разве не нужно учитывать проскальзывание?
 
AndreyK писал(а) >>
Дан Magic number ордера, который закрылся. Как определить, закрылся ли ордер по SL и по TP? Ведь цена закрытия может не совпадать с ценой SL (или TP).

Можно еще комент проверять [tp] или [sl]

 
А как его проверить?
 
if (StringFind(OrderComment(),"[tp]")!=-1)
 
AndreyK писал(а) >>
Нашел функцию isCloseLastPosByTake(). Но там проверяется условие "if (ocp==otp) return(True);", т.е. точное совпадение. Разве не нужно учитывать проскальзывание?

Вряд ли тейкпрофит произойдет с проскальзыванием, стоплосс может. Проверять if(ocp>=otp), if(ocp<=osl) - для buy, только еще нормализовать надо функцией NormalizeDouble().

 
Integer >>:

Вряд ли тейкпрофит произойдет с проскальзыванием, стоплосс может.

От кухни зависит. Все же, советовал бы учитывать и такую возможность.

 
Integer >>:

Вряд ли тейкпрофит произойдет с проскальзыванием, стоплосс может. Проверять if(ocp>=otp), if(ocp<=osl) - для buy, только еще нормализовать надо функцией NormalizeDouble().

На гэпе может и ТП и СЛ, зависит от условий. Но чаще всего только СЛ :)

Причина обращения: