Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Паттерн 123. Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
AntColonel



Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск

СообщениеДобавлено: Пт Июн 15, 2012 7:40 am Ответить с цитатой Вернуться к началу

000 писал(а):
А если так.
Взяли точку 1, от неё пошло движение, потом разворот немного и дальше опять движение, в месте этого зигзага имеем еще одну потенциальную точку 1. Т.е. получается, что внутри одного движения 1-2 может построиться целый паттерн 1-2-3.


Предлагаю не рассматривать новые потенциальные паттерны, пока не закончился (реализовался или отменился) основной (первый).
Посмотреть профиль Отправить личное сообщение
Mechanic



Зарегистрирован: 10.06.2008
Сообщения: 359

СообщениеДобавлено: Сб Июн 16, 2012 5:44 pm Ответить с цитатой Вернуться к началу

В качестве идеи.

Зигзаг для формализации волн и волновых паттернов плохо подходит. Волны могут иметь разный наклон, и отчётливая, продолжительная волна может быть пологой и не превысить размерность зигзага. Я волны формализую взвешенным мувингом, построенным по (H+L)/2: пока мувинг сохраняет своё направление (растёт или падает) - волна продолжается, поменял направление - началась новая. Ну и небольшой запас на болтанку закладываю (для валют - 1 пункт) - WMA считается изменившей направление, только если после разворота она прошла в противоположном направлении более этого запаса, более мелкие всплески не учитываются. Периодом мувинга регулируется порядок волн, которые нужно вычленить из графика, это аналог размерности зигзага. Потом находим экстремумы - максимумы над растущими участками WMA и минимумы под падающими - это и есть вершины волн. На рисунке видно, как это выглядит. Растущая WMA - зелёная, падающая - красная.

Ну и на этих волнах уже ищем любые волновые паттерны. В паттерне 1-2-3 ждём точку 3 до тех пор, пока продолжается нисходящая волна после точки 2. Как только нисходящая волна завершится, и цена пойдёт вверх, фиксируем минимум (точку 3) и ставим ордер на пробой точки 2. Если цена не дойдёт до ордера и снова развернётся вниз, образовав новую нисходящую волну, снимаем ордер - паттерн не отработал.
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Ср Июн 20, 2012 12:57 am Ответить с цитатой Вернуться к началу

Если так будет?

На цифры внимание не обращай.
Код:

SetBarsRequired(sbrAll, sbrAll);
per = Param("период", 20, 15, 50, 5);
mov = MA((H+L)/2, per);

UpDw = Flip(mov > Ref(mov, -1), mov < Ref(mov, -1));

ll = Ref(LLV(L, BarsSince(!UpDw AND Ref(UpDw, -1)) +1), 0);
Ll1 = IIf(UpDw, Null, ValueWhen(UpDw AND !Ref(UpDw, -1), Max(Ll, Ref(Ll, -1)), 0));

Hh = Ref(HHV(H, BarsSince(UpDw AND !Ref(UpDw, -1)) +1), 0);
Hh1 = IIf(!UpDw, Null, ValueWhen(!UpDw AND Ref(UpDw, -1), Min(Hh, Ref(Hh, -1)), 0));

Up = HH1 == H;
Dw = Ll1 == L;

Plot(mov, "", IIf(UpDw, colorGreen, colorRed), styleThick);
Plot(C, "", colorBlack, styleCandle);
//Plot(BarsSince(mov < Ref(mov, -1) AND Ref(mov, -1) > Ref(mov, -2))+1, "222", colorBlack, styleOwnScale);
//Plot(Ll1, "", colorBlue);
//Plot(Hh1, "", colorBlue);
//Plot(UpDw, "UpDw", colorWhite, styleOwnScale);

PlotShapes(Up*shapeDigit2, colorRed, 0, yposition = H, 12);
PlotShapes(Dw*shapeDigit1, colorRed, 0, yposition = L, -12);

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Mechanic



Зарегистрирован: 10.06.2008
Сообщения: 359

СообщениеДобавлено: Сб Июн 23, 2012 7:39 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Если так будет?


Олег, это к кому вопрос? Если ко мне, то малость не так. Во-первых, надо использовать всё-таки взвешенный мувинг - он гораздо лучше повторяет импульсы цены, а во-вторых, надо ввести допуск на болтанку мувинга, в пределах которого не засчитываем смену направления. Просто иногда бывает на восходящей волне шпилька вниз, которая волну, в общем-то, не отменяет, а мувинг меняет направление. Чтобы мувинг не реагировал на такие выбросы, приходится увеличивать его период, что тоже не есть хорошо, поскольку он тогда начинает отображать волны уже другого порядка. Лучше ввести дельту.

В общем, алгоритм такой: в начале графика определяем начальное приращение WMA - если оно положительное, значит мувинг растёт, т.е. идёт восходящая волна. Затем направление мувинга считается неизменным до тех пор, пока он не снизится на величину, превышающую заданную дельту от своего максимума. Горизонтальное движение и проседания меньше дельты направление не меняют. На АФЛ всё это получается довольно громоздко и тормознуто, так что у меня этот код в dll вынесен. Во вложении, вместе с исходником. Там одна функция:

Direction(array, delta);

Здесь array - мувинг, delta - допустимый зазор.

Возвращает 1, если мувинг растёт, -1, если падает и 0 в начале графика, когда направление ещё не определено.
Посмотреть профиль Отправить личное сообщение ICQ Number
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Сб Июн 23, 2012 7:50 pm Ответить с цитатой Вернуться к началу

вопрос был не тебе. Я хотел узнать в принципе как такой подход к решению.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
AntColonel



Зарегистрирован: 03.05.2011
Сообщения: 213
Откуда: Новосибирск

СообщениеДобавлено: Пн Июн 25, 2012 9:30 am Ответить с цитатой Вернуться к началу

000 писал(а):
вопрос был не тебе. Я хотел узнать в принципе как такой подход к решению.


Как мне кажется, не совсем то получается, что изначально хотелось. Тут получается отрисовка фракталов наподобие индюка WATL для МТ4
Посмотреть профиль Отправить личное сообщение
darshan



Зарегистрирован: 27.09.2009
Сообщения: 15

СообщениеДобавлено: Вс Ноя 25, 2012 7:39 am Ответить с цитатой Вернуться к началу

000 писал(а):
Если так будет?

На цифры внимание не обращай.
Код:

SetBarsRequired(sbrAll, sbrAll);
per = Param("период", 20, 15, 50, 5);
mov = MA((H+L)/2, per);

UpDw = Flip(mov > Ref(mov, -1), mov < Ref(mov, -1));

ll = Ref(LLV(L, BarsSince(!UpDw AND Ref(UpDw, -1)) +1), 0);
Ll1 = IIf(UpDw, Null, ValueWhen(UpDw AND !Ref(UpDw, -1), Max(Ll, Ref(Ll, -1)), 0));

Hh = Ref(HHV(H, BarsSince(UpDw AND !Ref(UpDw, -1)) +1), 0);
Hh1 = IIf(!UpDw, Null, ValueWhen(!UpDw AND Ref(UpDw, -1), Min(Hh, Ref(Hh, -1)), 0));

Up = HH1 == H;
Dw = Ll1 == L;

Plot(mov, "", IIf(UpDw, colorGreen, colorRed), styleThick);
Plot(C, "", colorBlack, styleCandle);
//Plot(BarsSince(mov < Ref(mov, -1) AND Ref(mov, -1) > Ref(mov, -2))+1, "222", colorBlack, styleOwnScale);
//Plot(Ll1, "", colorBlue);
//Plot(Hh1, "", colorBlue);
//Plot(UpDw, "UpDw", colorWhite, styleOwnScale);

PlotShapes(Up*shapeDigit2, colorRed, 0, yposition = H, 12);
PlotShapes(Dw*shapeDigit1, colorRed, 0, yposition = L, -12);


Sir,
Thank you very much,
i found your code / concept is very near to this
http://www.tradeprofitably.com/The_1-2-3_Breakout_Trading_System.html
Waiting for more ..
Thank you Smile
Посмотреть профиль Отправить личное сообщение
darshan



Зарегистрирован: 27.09.2009
Сообщения: 15

СообщениеДобавлено: Сб Июн 01, 2013 10:05 am Ответить с цитатой Вернуться к началу

Hello everyone,
Found this beautiful formula of 123 ptrn.
its been coded by edward pottash.
nicely done
thank you
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen