Индикаторы: FivePattern - страница 4

 
vspexp:

ozhiganov,  nav_soft СПАСИБО ЗА РАЗВЕРНУТЫЙ ОТВЕТ! 

 

загрузил индикатор на индекс РТС 12,14 в "Открытии" на Д1 и выше не отображается, это вероятно нехватка баров истории?

 

хорошо бы вывести в левый верхний угол окна  имеющуюся информацию о текущем паттерне,  как в прошлой версии вкладке Общие, к примеру:

восходящие тренды - М15, M16, W14, W16

нисходящие тренды - M1 M3 W1 W2

голова и плечи - w6 w7 w9 w11 w13 w15

перевернутая голова и плечи M2 M4 M6 M8 M10 M11

 и другое.... полезное.

Ну так уменьшить поисковое окно до 110 (HistSize  - "Zigzag: Размер истории для расчетов"). Интересно самому как на индексе будет работать???(Не тестировал...) Вполне может сложиться так: из-за малой волатильности рынка индикатор работать не будет, так как во второй версии я помню боролся со флэтом... поищи коммент в файле mycpatternzigzag.mqh  "АНТИ-ФЛЭТ"  и закомментируй код ниже надписи до return(true), может вылечит.

На счет сопоставления с техническими фигурами:

В первой версии кода это было, но потом я лично протестировал их в деле... и получил полное разочарование(собственно фигура Голова & плечи)... 40-50% эффективности ТС, легче на кофейной гуще гадать! Но потом была ТС 2 версии FP + CCI  эффективность улучшилась аж до 75-85%, тут я обрадовался, но рано... стандартный Zigzag слишком подвержен переоптимизации к текущей волатильности, т.е. на значительных форвадах ТС сливает депозит. Начал работать на новым ядром, в процессе работы/тестирования меня озарило, самый простой и эффективный способ лежал на виду: это коррекция цены. Рынок никуда от Вас не денется! Главное знать приблизительное место входа и выхода. Третья версия ТС без всякой оптимизации показала 98% прибыльных сделок. Так вот к чему я - а убрал я их, чтобы людей не смущать. Но если ЛЮДИ требуют, то будет сопоставление с технической моделью.

Кстати заметил одну закономерность при оптимизации поискового ядра, какой бы ни был поисковый алгоритм: Classic Zigzag или иной, ошибка в прогнозировании следующей модели колеблется около 20+/-1 %. А это наводит меня на мысль, А.Меррилл либо намеренно не описал 6 паттернов(т.е. по 3 фигуры M и W), либо их не обнаружил.

 
nav_soft:

Ну так уменьшить поисковое окно до 110 (HistSize  - "Zigzag: Размер истории для расчетов"). Интересно самому как на индексе будет работать???(Не тестировал...) Вполне может сложиться так: из-за малой волатильности рынка индикатор работать не будет, так как во второй версии я помню боролся со флэтом... поищи коммент в файле mycpatternzigzag.mqh  "АНТИ-ФЛЭТ"  и закомментируй код ниже надписи до return(true), может вылечит.

На счет сопоставления с техническими фигурами:

В первой версии кода это было, но потом я лично протестировал их в деле... и получил полное разочарование(собственно фигура Голова & плечи)... 40-50% эффективности ТС, легче на кофейной гуще гадать! Но потом была ТС 2 версии FP + CCI  эффективность улучшилась аж до 75-85%, тут я обрадовался, но рано... стандартный Zigzag слишком подвержен переоптимизации к текущей волатильности, т.е. на значительных форвадах ТС сливает депозит. Начал работать на новым ядром, в процессе работы/тестирования меня озарило, самый простой и эффективный способ лежал на виду: это коррекция цены. Рынок никуда от Вас не денется! Главное знать приблизительное место входа и выхода. Третья версия ТС без всякой оптимизации показала 98% прибыльных сделок. Так вот к чему я - а убрал я их, чтобы людей не смущать. Но если ЛЮДИ требуют, то будет сопоставление с технической моделью.

Кстати заметил одну закономерность при оптимизации поискового ядра, какой бы ни был поисковый алгоритм: Classic Zigzag или иной, ошибка в прогнозировании следующей модели колеблется около 20+/-1 %. А это наводит меня на мысль, А.Меррилл либо намеренно не описал 6 паттернов(т.е. по 3 фигуры M и W), либо их не обнаружил.

Именно так оно и есть, сами по себе фигуры Меррилла мало дают информации о рынке и о его дальнейшем движении ,  лишь предположение о том что какая фигура возможно образуется в будущем, но при наличии фильтрующих элементов и как дополнение к какой либо стратегии  это становиться "оружием массовой прибыли"   возможно А.Меррилл сделал это  намеренно или не увидел,  а возможно просто не успел, в любом случае начало им было положено, остается лишь дополнить и модернизировать, а так же подогнать под существующий рынок,  я к примеру не особо заморачиваюсь с волнами M и W, меня больше интересует в какой волне Эллиота сейчас находиться рынок, если взять любую волну Меррилла и сопоставить её с Волновой структурой Эллиота, и отфильтрровать все сигналами Билла Вильямса, то открываются очень интересные возможности для торговли. Так что не останавливайся на достигнутом, развивай, и модернизируй!!!
 
ozhiganov:
Именно так оно и есть, сами по себе фигуры Меррилла мало дают информации о рынке и о его дальнейшем движении ,  лишь предположение о том что какая фигура возможно образуется в будущем, но при наличии фильтрующих элементов и как дополнение к какой либо стратегии  это становиться "оружием массовой прибыли"   возможно А.Меррилл сделал это  намеренно или не увидел,  а возможно просто не успел, в любом случае начало им было положено, остается лишь дополнить и модернизировать, а так же подогнать под существующий рынок,  я к примеру не особо заморачиваюсь с волнами M и W, меня больше интересует в какой волне Эллиота сейчас находиться рынок, если взять любую волну Меррилла и сопоставить её с Волновой структурой Эллиота, и отфильтрровать все сигналами Билла Вильямса, то открываются очень интересные возможности для торговли. Так что не останавливайся на достигнутом, развивай, и модернизируй!!!
Спасибо БОЛЬШОЕ, да лихо закручен сюжет, посложнее любого детективо. с волнами Элиота разбирался так и не понял до конца ведь с любого момента можно начинать отсчет 1.2.3.4.5.АВС, А Вы похоже попадаете в 10. с этим индикатором чуть прояснилось буду пробовать, спасибо автору, а то ведь тыкаешься как слепой котенок и все только на угадайке 50/50 в основном пока на реале сливаю, хотя на демо чемпион миллионер)) думаю что соединение предыдущего(большогоТФ) с последующим(меньшим -что-то вроде машины времени) наверно добавит шансов в предполагаемом движении цены...Был бы очень благодарен вам если б вы оставляли коменты по этому индикатору в вашем блоге у вас это хорошо получается спасибо большое успехов всем!!!!!!
 
Пять баллов. Для МТ4 версия есть?
 
marketeer:
Пять баллов. Для МТ4 версия есть?
Пока нет.
 
nav_soft:


..., самый простой и эффективный способ лежал на виду: это коррекция цены. Рынок никуда от Вас не денется! Главное знать приблизительное место входа и выхода. Третья версия ТС без всякой оптимизации показала 98% прибыльных сделок. 

а что Вы вкладываете в понятие коррекция цены..,?

 

 

2 вопрос - почемуто при работе индикатор "мигает" - не знаете с чем связано, уже и удалял - не помогает

 
nav_soft:
Пока нет.
Если ещё не забросили индикатор и используете зигзаг могу предложить, можно сказать, альтернативу оптимизации для ТФ и "полётам" рынка, пишите в ЛС.
 
nav_soft:
Проект закрыт. Надеюсь его скоро удалят из CodeBase. Всем спасибо.
Почему закрыт, все же работало прекрасно?
 
ozhiganov:
Почему закрыт, все же работало прекрасно?

Между мной и сотрудниками MQL возникло некоторое взаимное недопонимание. Ситуация разрешилась. Работа над индикатором будет продолжена.

Я приношу искренние извинения сотрудникам MQL.

С Уважением А.Емельянов. 

 
nav_soft:

...Кстати заметил одну закономерность при оптимизации поискового ядра, какой бы ни был поисковый алгоритм: Classic Zigzag или иной, ошибка в прогнозировании следующей модели колеблется около 20+/-1 %. А это наводит меня на мысль, А.Меррилл либо намеренно не описал 6 паттернов(т.е. по 3 фигуры M и W), либо их не обнаружил.

Ранее писал что есть еще 6 паттернов. Это ошибочное мнение. Вот простой скрипт который подтверждает, что паттернов 32.

#include <Object.mqh>

#include <Arrays\ArrayObj.mqh>

//+------------------------------------------------------------------+

//| КЛАСС ХРАНЕНИЯ ПОЛУЧЕННЫХ ДАННЫХ                                 |

//+------------------------------------------------------------------+

class MyPPattern : public CObject

  {

private:

   double            A;

   double            B;

   double            C;

   double            D;

   double            E;

public:

                     MyPPattern(void){A=0;B=0;C=0;D=0;E=0;};

                     MyPPattern(double ia, double ib, double ic,

                                double id, double ie)

                                {A=ia;B=ib;C=ic;D=id;E=ie;};

                    ~MyPPattern(void){;};

   //+---------------------------------------------------------------+

   //| SET-МЕТОДЫ                                                    |

   //+---------------------------------------------------------------+

   void              SetA(double in){A = in;};

   void              SetB(double in){B = in;};

   void              SetC(double in){C = in;};

   void              SetD(double in){D = in;};

   void              SetE(double in){E = in;};

   //+---------------------------------------------------------------+

   //| GET-МЕТОДЫ                                                    |

   //+---------------------------------------------------------------+

   double            GetA(void){return(A);};

   double            GetB(void){return(B);};

   double            GetC(void){return(C);};

   double            GetD(void){return(D);};

   double            GetE(void){return(E);};

  };

//+------------------------------------------------------------------+

//| Script program start function                                    |

//+------------------------------------------------------------------+

void OnStart()

  {

   //--- value

   int         filehandle,total;

   double      a=1,b=1,c=1,d=1,e=1,sum=0;

   string      subfolder="Research";

   CArrayObj*  Marray = new CArrayObj;

   CArrayObj*  Warray = new CArrayObj;

   MyPPattern* ppattern;

   //--- Простой поисковый массив

   while(true)

     {

      //--- 1. Инкримент

      a = a + 1;

      if(a > 5){a = 1;b = b + 1;};

      if(b > 5){b = 1;c = c + 1;};

      if(c > 5){c = 1;d = d + 1;};

      if(d > 5){d = 1;e = e + 1;};

      //--- 2. Выход из цикла

      if(e > 5) break;

      //--- 3. Сумматор

      sum = a+b+c+d+e;

      //--- 4. Запись данных

      if(sum == 15)

        {

         //--- Проверка: неравенства

         if(a!=b && a!=c && a!=d && a!=e && b!=c && 

            b!=d && b!=e && c!=d && c!=e && d!=e)

           {

            //--- Проверка: зиг-заг формации

            if(a<b && b>c && c<d && d>e)

              {//--- Формация M-волн

               ppattern = new MyPPattern(a,b,c,d,e);

               Marray.Add(ppattern);

              }

            if(a>b && b<c && c>d && d<e)

              {//--- Формация W-волн

               ppattern = new MyPPattern(a,b,c,d,e);

               Warray.Add(ppattern);

              }

           }

        }

     }

   //--- Сохранение M-данных

   ResetLastError();

   filehandle=FileOpen(subfolder+"\\SearchNewPatternM.csv",FILE_WRITE|FILE_CSV);

   if(filehandle!=INVALID_HANDLE)

     {

      total = Marray.Total();

      for(int i=0;i<total;i++)

        {

         ppattern = Marray.At(i);

         FileWrite(filehandle,ppattern.GetA(),ppattern.GetB(),ppattern.GetC(),

                   ppattern.GetD(),ppattern.GetE());

        }

      //--- Close file

      FileClose(filehandle);

     }

   else Print(__FUNCTION__,": ERROR FileOpen = ",GetLastError());

   //--- Сохранение W-данных

   ResetLastError();

   filehandle=FileOpen(subfolder+"\\SearchNewPatternW.csv",FILE_WRITE|FILE_CSV);

   if(filehandle!=INVALID_HANDLE)

     {

      total = Warray.Total();

      for(int i=0;i<total;i++)

        {

         ppattern = Warray.At(i);

         FileWrite(filehandle,ppattern.GetA(),ppattern.GetB(),ppattern.GetC(),

                   ppattern.GetD(),ppattern.GetE());

        }

      //--- Close file

      FileClose(filehandle);

     }

   else Print(__FUNCTION__,": ERROR FileOpen = ",GetLastError());

   //--- delet all objects

   delete Marray;

   delete Warray;

  }

//+------------------------------------------------------------------+


А ошибка работы алгоритма в 20 процентов, вызвана поздним определением паттерной модели. Заметил я её только, после тестирования двойной паттерной модели, вот иллюстрация:

Позднее обнаружение паттерна 


 

Причина обращения: