Блок стоп лосс в безубыток TSLab

В TSLab нет стандартного блока переноса стоп лосса позиции в безубыток, поэтому мы его соберем сами. Делается это очень просто, но есть пара особенностей, которые мы будем учитывать.

Первая особенность в том, что когда собирается пробойный алгоритм и вход будет включать проскальзывание, то в реальной торговле цена входа будет обычно хуже, чем в тесте. Отсюда следует, что стоп, если он зависит от цены входа, будет ставиться не в том месте, где в тестах. Это нарушает условия, на которые мы оптимизировали алгоритм. Так что мы будем использовать расчетную цену входа, а не фактическую. Для этого пришлось сделать вот такой хитрый набор блоков. Расчетную цену входа мы тоже пишем в Обновляемое значение price_long, потому что в реальной торговле блок Расчетной цены сбоит и иногда выдает не ту цену после пересчета. На 1 вход ОЗ подается значение цены входа, либо сигнального индикатора, который эту цену задает, на 2 вход подается Логическая формула2, показывающая что появилась открытая позиция.

Пример работы Обновляемого значения можете посмотреть в готовом роботе.

стоп лосс в безубыток tslab
Блок переноса в безубыток TSLab

Вторая особенность учитывает цену, по которой мы будем тянуть стоп. В стандартном блоке ТрейлСтопАбс стоп тянется по хай/лоу бара. В чем минус такого метода? Когда возникает резкий гэп, то наш стоп подтягивается резко и после отката гэпа нас будет выбивать, а цена может пойти плавно дальше. Именно поэтому мы будем брать цену закрытия бара.

Результат на скриншоте. Тут не видно блока cls (Цена закрытия). Stop — это первоначальный стоп, bu — на сколько от цены будет безубыток, profit — сколько пройдет цена чтобы мы перенесли стоп в безубыток.

Пример работы блока Обновляемое значение можно посмотреть в этом видео.

4 комментария

    1. Первый вход вашего кубика ОЗ P_Lng — это цена входа, а у вас там почему-то Доход. Второй вход (Условие) — ЛогическаяФормула2, где условие что открылась позиция на данном баре. Третий вход можно/нужно оставить пустым.

  1. Должно все работать, но открывает и закрывает каждый бар.
    Не понятно с чем соединены входы «By. Открытие позиции если больше». Да и «Цена расчетная» уходит куда не понятно.
    http://s017.radikal.ru/i432/1605/ef/849c8aa00e33.jpg
    Подскажите пожалуйста.

    1. Возможно сбрасывается значение ОЗ на каждом баре. Надо в нём поставить галочку «Не очищать»
      Открытие позиции если больше — просто для примера. Может быть любой блок открытия. Цена входа уходит в формулы, в которых используется.

Добавить комментарий