Автор |
Сообщение |
Dezember
Зарегистрирован: 04.08.2009
Сообщения: 35
|
Пробую написать код для следующей задачи:
Когда бар закрывается выше скользящей средней, то его хай становится уровнем при пробитии которого открывается длинная позиция.
Код: |
BuyLine =ValueWhen(C >МА(),H ,1);
Buy = Cross(H,BuyLine ) ;
|
Хай извлекается, но при следующем баре который тоже закрылся выше МА принимает значение его хая, а мне нужно, чтобы BuyLine не изменялся. Пробовал писать так:
Код: |
Cond1 = TimeNum() == 234500;
BuyLine =ValueWhen(C >МА(),H ,1);
BuyLine =Flip(BuyLine ,Cond1 );
Buy = Cross(H,BuyLine ) ;
Plot(BuyLine ,"BuyLine ",colorRed, styleLine);
|
и так:
Код: |
Cond1 = TimeNum() == 234500;
BuyLine =ValueWhen(C >МА(),H ,1);
BuyLine =ExRem(BuyLine ,Cond1 );
Buy = Cross(H,BuyLine ) ;
Plot(BuyLine ,"BuyLine ",colorRed, styleLine);
|
но тогда получается BuyLine =0, не могу понять почему... Подскажите |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
А если так?
Код: |
Cond1 = TimeNum() == 234500;
BuyLine = ValueWhen(Cross(C, MA(C, 20)),H , 1);
Buy = H > BuyLine;
Plot(BuyLine ,"BuyLine ",colorRed, styleLine);
Plot(C, "", colorBlack, styleCandle);
|
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Dezember
Зарегистрирован: 04.08.2009
Сообщения: 35
|
Я об этом тоже думал, но писать не стал. Тут скакать будет меньше, но все равно будет, если смотреть на скриншот то видно, что второй бар, красный, закрывается ниже МА, т.е. клоуз опять уходит под МА, таким образом BuyLine перескакивает на хай третьего бара, после того как он закроется выше МА, а это критично в других случаях. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Т.е. надо так. Пересекло первый раз и потом все пересечения игнорируются пока High не опустится ниже Close? |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
Dezember
Зарегистрирован: 04.08.2009
Сообщения: 35
|
Пересекло первый раз и значение хая этого бара заморозилось до конца торгового дня.
Предполагается одна сделка за торговую сессию, но именно по этой цене. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
Dezember
Зарегистрирован: 04.08.2009
Сообщения: 35
|
Попробую объяснить для чего это нужно. Может быть это можно решить другим путем. Многие пробойные системы получают сигнал по закрытию бара, когда он закрылся выше/ниже какого то уровня. Но как мне кажется и в этом случае много ложных сигналов. И вот я решил проверить насколько велика разница между таким сигналом и сигналом с подтверждением, т.е. входить не по закрытию этого бара, а по пробитии его хая. То что я проверил вручную пока подтверждает это. Но ясно же, что вручную я могу проверить лишь малую выборку, поэтому и хотел написать код, который бы так работал. А что он будет пересекать МА или любой другой уровень или фрактал, да что угодно, это второстепенно. |
|
|
Посмотреть профиль Отправить личное сообщение ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Dezember писал(а): |
Пересекло первый раз и значение хая этого бара заморозилось до конца торгового дня.
Предполагается одна сделка за торговую сессию, но именно по этой цене. |
Тогда так
Код: |
NewDay = Day() != Ref(Day(), -1);
Cond1 = Cross(C, MA(C, 20));
Cond2 = Flip(Ref(Cond1, -1), NewDay);
Cond3 = Cond1 AND NOT Cond2;
BuyLine = ValueWhen(Cond3, H, 1);
Plot(BuyLine, "", colorRed);
Plot(C, "", colorBlack, styleCandle);
|
|
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
|
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|