В TSLab нет стандартного блока переноса стоп лосса позиции в безубыток, поэтому мы его соберем сами. Делается это очень просто, но есть пара особенностей, которые мы будем учитывать.
Первая особенность в том, что когда собирается пробойный алгоритм и вход будет включать проскальзывание, то в реальной торговле цена входа будет обычно хуже, чем в тесте. Отсюда следует, что стоп, если он зависит от цены входа, будет ставиться не в том месте, где в тестах. Это нарушает условия, на которые мы оптимизировали алгоритм. Так что мы будем использовать расчетную цену входа, а не фактическую. Для этого пришлось сделать вот такой хитрый набор блоков. Расчетную цену входа мы тоже пишем в Обновляемое значение price_long, потому что в реальной торговле блок Расчетной цены сбоит и иногда выдает не ту цену после пересчета. На 1 вход ОЗ подается значение цены входа, либо сигнального индикатора, который эту цену задает, на 2 вход подается Логическая формула2, показывающая что появилась открытая позиция.
Пример работы Обновляемого значения можете посмотреть в готовом роботе.
Вторая особенность учитывает цену, по которой мы будем тянуть стоп. В стандартном блоке ТрейлСтопАбс стоп тянется по хай/лоу бара. В чем минус такого метода? Когда возникает резкий гэп, то наш стоп подтягивается резко и после отката гэпа нас будет выбивать, а цена может пойти плавно дальше. Именно поэтому мы будем брать цену закрытия бара.
Результат на скриншоте. Тут не видно блока cls (Цена закрытия). Stop – это первоначальный стоп, bu – на сколько от цены будет безубыток, profit – сколько пройдет цена чтобы мы перенесли стоп в безубыток.
Пример работы блока Обновляемое значение можно посмотреть в этом видео.