Автор |
Сообщение |
MA8
Зарегистрирован: 05.12.2010
Сообщения: 16
|
Пытаюсь освоить программу на примере стратегии Turtle Soup. На всякий случай, ниже привожу ее описание.
На примере из учебника установил первое условие:
Bot = Ref(LLV(L, 20), -1);
PlotShapes((Cross(Bot, C))*shapeSmallUpTriangle, colorRed, 0, H);
Подскажите, пожалуйста, как задать второе: нужно учитывать этот минимум только в случае, если предыдущий минимум произошел по крайней мере на четыре дня раньше?
Код: |
1. Сегодня должен быть сделан новый 20-дневный минимум — чем ниже, тем лучше.
2. Предыдущий 20-дневный минимум должен произойти по крайней мере на четыре
торговые сессии ранее. Это очень важно.
3. После того, как рынок упадет ниже предыдущего 20-дневного минимума, разместите для
целей входа покупающий стоп на 5—10 тиков выше предыдущего 20-дневного минимума.
Этот покупающий стоп годится только на сегодня.
4. Если покупающий стоп исполняется, немедленно ставьте первоначальный действующий-
до-отмены продающий стоп-лосс на один тик ниже сегодняшнего минимума.
5. Когда позиция становится прибыльной, используйте плавающий стоп, чтобы
предотвратить потерю прибыли. Некоторые из этих сделок будут длиться два-три часа, а
некоторые — несколько дней. Из-за волатильности и шума 20-дневных максимумов и
минимумов каждый рынок ведет себя по-своему.
6. Правило повторного входа: если на первый или второй день существования сделки у
вас сработал стоп, вы можете войти повторно с помощью покупающего стопа на
первоначальном уровне входа (только на первый или на второй день). Это должно
несколько увеличить вашу прибыль. |
|
|
|
Посмотреть профиль Отправить личное сообщение |
|
Mechanic
Зарегистрирован: 10.06.2008
Сообщения: 359
|
Ref(BarsSince(Bot), -1) >= 4; |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
cm_s
Зарегистрирован: 04.10.2011
Сообщения: 7
|
и какой текст в итоге получился? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
MA8
Зарегистрирован: 05.12.2010
Сообщения: 16
|
Mechanic писал(а): |
Ref(BarsSince(Bot), -1) >= 4; |
Спасибо! Буду разбираться.
cm_s писал(а): |
и какой текст в итоге получился? |
Пока никакой. Не было пока времени вернуться к скрипту. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
MA8
Зарегистрирован: 05.12.2010
Сообщения: 16
|
Не могу понять, но с новым условием тоже не получается. Использую теперь вот такой код:
Bot = Ref(LLV(L, 20), -1);
IIf (Ref(BarsSince(Bot), -1) >= 4, PlotShapes((Cross(Bot, C))*shapeSmallUpTriangle, colorRed, 0, H),0);
Но стрелки рисуются для всех минимумов, без учета условия предыдущего минимума не ранее 4 дней до. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
MA8
Зарегистрирован: 05.12.2010
Сообщения: 16
|
Разбираю формулу в Guru Chart Commentary, но не могу понять почему значение переменной aaa на любом баре равно нулю. Пробовал и условия ставить aaa = BarsSince(Bot>0) и aaa = Ref(BarsSince(Bot), -1) >= 4, но все-равно выдается ноль. Должно же оно со временем менятся.
Bot = Ref(LLV(L, 20), -1);
aaa = BarsSince(Bot);
WriteVal(aaa); |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Ну давай смотреть.
Bot у тебя равно самому минимому за 20 баров.
А aaa это BarsSince (прошло баров с момента истинного значения) Bot. И когда это у Bot истинное значение (1)???
Вот поэтому всегда 0. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
MA8
Зарегистрирован: 05.12.2010
Сообщения: 16
|
Видно, не понимаю до конца как BarsSince работает. Я правильно понял, что в BarSince должно всегда стоять условие? Иначе у функции нет ложного или истинного условия и у нее нет отправной точки для отсчета баров. Верно? |
|
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
да |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
MA8
Зарегистрирован: 05.12.2010
Сообщения: 16
|
Большое спасибо. Разобрался и заработало. Верный код такой:
Bot = Ref(LLV(L, 20), -1);
PlotShapes((Cross(Bot, C) AND Ref(BarsSince(Cross(Bot,C)),-1)>=4)*shapeSmallUpTriangle, colorRed, 0, H); |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|