В TSLab нет стандартного блока переноса стоп лосса позиции в безубыток, поэтому мы его соберем сами. Делается это очень просто, но есть пара особенностей, которые мы будем учитывать.
Первая особенность в том, что когда собирается пробойный алгоритм и вход будет включать проскальзывание, то в реальной торговле цена входа будет обычно хуже, чем в тесте. Отсюда следует, что стоп, если он зависит от цены входа, будет ставиться не в том месте, где в тестах. Это нарушает условия, на которые мы оптимизировали алгоритм. Так что мы будем использовать расчетную цену входа, а не фактическую. Для этого пришлось сделать вот такой хитрый набор блоков. Расчетную цену входа мы тоже пишем в Обновляемое значение price_long, потому что в реальной торговле блок Расчетной цены сбоит и иногда выдает не ту цену после пересчета. На 1 вход ОЗ подается значение цены входа, либо сигнального индикатора, который эту цену задает, на 2 вход подается Логическая формула2, показывающая что появилась открытая позиция.
Пример работы Обновляемого значения можете посмотреть в готовом роботе.
Вторая особенность учитывает цену, по которой мы будем тянуть стоп. В стандартном блоке ТрейлСтопАбс стоп тянется по хай/лоу бара. В чем минус такого метода? Когда возникает резкий гэп, то наш стоп подтягивается резко и после отката гэпа нас будет выбивать, а цена может пойти плавно дальше. Именно поэтому мы будем брать цену закрытия бара.
Результат на скриншоте. Тут не видно блока cls (Цена закрытия). Stop – это первоначальный стоп, bu – на сколько от цены будет безубыток, profit – сколько пройдет цена чтобы мы перенесли стоп в безубыток.
Пример работы блока Обновляемое значение можно посмотреть в этом видео.
Попробовал собрать – не работает:
http://joxi.ru/E5md91GU1eEZ21
Из рисунка непонятно откуда идёт сигнал на Stop
http://joxi.ru/LQ2KZgjtXwDJmj
Объясните, что не так я сделал?
Первый вход вашего кубика ОЗ P_Lng – это цена входа, а у вас там почему-то Доход. Второй вход (Условие) – ЛогическаяФормула2, где условие что открылась позиция на данном баре. Третий вход можно/нужно оставить пустым.
Должно все работать, но открывает и закрывает каждый бар.
Не понятно с чем соединены входы “By. Открытие позиции если больше”. Да и “Цена расчетная” уходит куда не понятно.
http://s017.radikal.ru/i432/1605/ef/849c8aa00e33.jpg
Подскажите пожалуйста.
Возможно сбрасывается значение ОЗ на каждом баре. Надо в нём поставить галочку “Не очищать”
Открытие позиции если больше – просто для примера. Может быть любой блок открытия. Цена входа уходит в формулы, в которых используется.