Здравствуйте!
http://forum.tslab.ru/ubb/ubbthreads.php?ubb=showflat&Number=67815#Post67815
В скрипте организован переворот. Например, переворот из лонга в шорт выглядит примерно так:

if (ShortPosRevers == null) // если перевернутой позиции не существует, то...
{
source.Positions.SellIfLess(bar + 1, Количество лотов, СтопЦена, "Sh_ReversEnter"); // открываем шортовую позицию
}
LongPosFirst.CloseAtStop(bar + 1, СтопЦена, "Lo_FirstEnter_StopLoss"); // закрываем первоначальную лонговую позицию

В последнее время пошла масса ситуаций, когда стоп срабатывает, а переворот нет. Техподдержка винит в этом мой код. Поэтому хочется полностью исключить ситуацию, когда теоретически после стопа переворота может не произойти.
Из той справочной информации, которая имеется в свободном доступе, предполагаю, что единственным возможным таким вариантом является:
СтопЦена = LowPrice

Для метода CloseAtStop вроде достаточно коснуться цены LowPrice, и стоп сработает, а для метода SellIfLess цена должна опуститься до LowPrice минус 1 пункт.

Подскажите те, кто знает API, если я оформлю переворот так:
if (ShortPosRevers == null) // если перевернутой позиции не существует, то...
{
source.Positions.SellIfLess(bar + 1, Количество лотов, СтопЦена + 1 пункт, "Sh_ReversEnter"); // открываем шортовую позицию, если цена ниже СтопЦена + 1 пункт (т.е. коснется СтопЦены)
}
LongPosFirst.CloseAtStop(bar + 1, СтопЦена, "Lo_FirstEnter_StopLoss"); // закрываем первоначальную лонговую позицию, когда цена коснется СтопЦены

возможно ли еще теоретическая ситуация, когда позиция не перевернется?


Отредактировано Andrebot (Sat Jan 24 2015 04:18 PM)