Автор: Saint_Patrick
Активация трейлинг-стоп по сигналу - Fri Jan 03 2020 05:15 PM
Всех с новым годом!
Алгоритм должен активировать трейлинг-стоп после выполнения условий логической формулы (первый сигнал на выход). Проблема в том, что TSLAB рассчитывает выполнение логического условия на одном баре, а когда наступает другой бар, то логическое условие опять считается не выполненным. И второй сигнал не может быть реализован.
Логично использовать обновляемое значение, но здесь появляется другая проблема, что нет возможности обратиться к прошлому обновляемому значению. i-n не обращается к прошлому значению ОЗ, а показывает значение ОЗ на прошлых барах, и это не подходит в силу того, что первый сигнал приходит в разное время и, поставив значение на i-1000, можно пропустить некоторые сигналы.
Что можете посоветовать? Как вы делаете сложные условия на выход из нескольких сигналов?
Автор: Stan
Re: Активация трейлинг-стоп по сигналу - Fri Jan 03 2020 06:04 PM
несколько выходов! По рынку по стоп лоссу, и т.д По своему опыту у меня выходы только по условию, без всяких стопов
Автор: Saint_Patrick
Re: Активация трейлинг-стоп по сигналу - Fri Jan 03 2020 07:32 PM
а как реализовать последовательность из условий? Т.е. если ЛогическаяФормула1==true, то ждем пока будет ЛогическаяФормула2==true, и дальше продаем по рынку.
Дело в том, что ЛогическаяФормула1 стала правдивой на баре [i], и ЛогическаяФормула2 начнет проверяться на баре [i], но ЛогическаяФормула2 должна проверяться от [i] до [i+n].
Автор: Stan
Re: Активация трейлинг-стоп по сигналу - Fri Jan 03 2020 09:04 PM
так и написать в условии i-1 i-2, или запоминать через ОЗ(Обновляемое значение)
Автор: Saint_Patrick
Re: Активация трейлинг-стоп по сигналу - Sat Jan 04 2020 10:46 AM
к сожалению, не все так просто:
1. Если писать через i-n, то алгоритм будет проверять первое условие на определенных барах. Это бы сработало, если бы сигналы нужно было бы проверять на последних, допустим 10 барах. Но я использую минутный график, а поэтому нужно рассматривать последние 1000-2000 минутных бар, что реализовать проблематичней.
2. Если использовать ОЗ, то при обращении к ОЗ[i-500], алгоритм будет проверять значение ОЗ только на баре i-500. И опять мы упираемся в схожую проблему что и в первом случае
Автор: Stan
Re: Активация трейлинг-стоп по сигналу - Mon Jan 06 2020 03:47 PM
сделать счетчик через оз на условие которое вы хотите, который будет тупо считать количество бар, с 1 до хоть миллиона, и уже проверять свое условие исходя из счетчика.
Автор: OldMo
Re: Активация трейлинг-стоп по сигналу - Wed Jan 08 2020 02:58 PM
Можно через кэш передавать данные между пересчетами. Условие выполнилось записали в кэш true. Перестало выполнятся (позиция закрылась или что там у вас) записали false.
Автор: ViL
Re: Активация трейлинг-стоп по сигналу - Thu Jan 09 2020 11:01 AM
Если я правильно понял, нужно внутри бара пробежаться по всем значениям логической формулы2 от i-n до i и вернуть true? если одно из значений было true?
Я думаю есть вариант, использовав цикл:
https://blog.tslab.pro/pages/viewpage.action?pageId=10748975 В этом случае n - это количесво итераций в цикле.
Внутри цикла ЛогическаяФормула2[i-cycle]
Но кажется проще сделать через простой блок Flip(перевернуть).Он держит true от события до события.
Автор: Saint_Patrick
Re: Активация трейлинг-стоп по сигналу - Wed Jan 15 2020 06:25 PM
Извиняюсь, за затянувшийся ответ, все ни как руки не доходили.
Vil, да идея с блоком "перевернуть" сработала! Спасибо большое!)))
Я не знал, что этот кубик держит значение от события к событию.