Скачать MetaTrader 5

Индикаторы: Канальный ЗигЗаг

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
MetaQuotes Software Corp.
Модератор
184306
MetaQuotes Software Corp.  

Канальный ЗигЗаг:

Версия ЗЗ для каналов. Ширина канала задается в свойствах.

Author: Андрей

MQL4 Comments
16319
MQL4 Comments  
Чтобы проще понять логику работы индикатора можно посмотреть в режиме визуального тестирования.
MQL4 Comments
16319
MQL4 Comments  
При поиске значений индюк инициализируется и деинициализируется на каждой итерации что сильно замедляет тестирование, что я делаю не так? подставляю стандартный ZigZag - всё отлично... Идея хорошая, 10
Комбинатор
16173
Комбинатор  
barada:
При поиске значений индюк инициализируется и деинициализируется на каждой итерации что сильно замедляет тестирование, что я делаю не так? подставляю стандартный ZigZag - всё отлично... Идея хорошая, 10

Ммм, какие значения? Если в тестере, то поставьте DrawChannel  false, будет работать пошустрее.

А насчет инициализации... у меня такое подозрение, что так же себя ведет любой кастомный индикатор, используйте контроль открытия баров и такой же режим открытия.

MQL4 Comments
16319
MQL4 Comments  
TheXpert:
barada:
При поиске значений индюк инициализируется и деинициализируется на каждой итерации что сильно замедляет тестирование, что я делаю не так? подставляю стандартный ZigZag - всё отлично... Идея хорошая, 10

Ммм, какие значения? Если в тестере, то поставьте DrawChannel  false, будет работать пошустрее.

А насчет инициализации... у меня такое подозрение, что так же себя ведет любой кастомный индикатор, используйте контроль открытия баров и такой же режим открытия.

while (x4==0)                                                              
   {                                                                          
    //zz=iCustom(Symbol(), 0, "ZigZag", ExtDepth, ExtDeviation, ExtBackstep, 0, i);
    zz=iCustom(Symbol(),0,"Channel ZZ",NULL,SmoothPeriod,NULL,ChannelWidth,NULL,5,NULL,"Arial Black",NULL,false, 0, i);
    if (zz!=0 && zz!=EMPTY_VALUE)                                             
      {                                                                       
      if      (x0==0) {x0=zz; }                                                 
      else if (x1==0) {x1=zz; i1=i;}                                                 
      else if (x2==0) {x2=zz; i2=i;}                                                 
      else if (x3==0) {x3=zz; i3=i;}                                                 
      else if (x4==0) {x4=zz; i4=i;}                                                                                            
      }                                                             
    i++;                                                                      
   }
Бары контролирую, тоесть на каждом новом баре поиск 5-ти экстремумов происходит 1 раз, так вот с обычным ЗЗ (закоментил) всё нормально, а с этим при каждой итерации выкидывает в лог успешную инициализацию и деинициализацию... перед циклом все значения обнуляются, переменная zz обьявлена глобально
Комбинатор
16173
Комбинатор  
barada:
Бары контролирую, тоесть на каждом новом баре поиск 5-ти экстремумов происходит 1 раз, так вот с обычным ЗЗ (закоментил) всё нормально, а с этим при каждой итерации выкидывает в лог успешную инициализацию и деинициализацию... перед циклом все значения обнуляются, переменная zz обьявлена глобально

Угу, значит это болезнь iCustom, насколько я понимаю, а это уже не ко мне...

Сами понимаете, что я не зашил в код самопроизвольную деинициализацию индикатора. Это делает терминал.

Комбинатор
16173
Комбинатор  
barada:
TheXpert:
barada:
При поиске значений индюк инициализируется и деинициализируется на каждой итерации что сильно замедляет тестирование, что я делаю не так? подставляю стандартный ZigZag - всё отлично... Идея хорошая, 10

Ммм, какие значения? Если в тестере, то поставьте DrawChannel  false, будет работать пошустрее.

А насчет инициализации... у меня такое подозрение, что так же себя ведет любой кастомный индикатор, используйте контроль открытия баров и такой же режим открытия.

while (x4==0)                                                              
   {                                                                          
    //zz=iCustom(Symbol(), 0, "ZigZag", ExtDepth, ExtDeviation, ExtBackstep, 0, i);
    zz=iCustom(Symbol(),0,"Channel ZZ",NULL,SmoothPeriod,NULL,ChannelWidth,NULL,5,NULL,"Arial Black",NULL,false, 0, i);
    if (zz!=0 && zz!=EMPTY_VALUE)                                             
      {                                                                       
      if      (x0==0) {x0=zz; }                                                 
      else if (x1==0) {x1=zz; i1=i;}                                                 
      else if (x2==0) {x2=zz; i2=i;}                                                 
      else if (x3==0) {x3=zz; i3=i;}                                                 
      else if (x4==0) {x4=zz; i4=i;}                                                                                            
      }                                                             
    i++;                                                                      
   }
Бары контролирую, тоесть на каждом новом баре поиск 5-ти экстремумов происходит 1 раз, так вот с обычным ЗЗ (закоментил) всё нормально, а с этим при каждой итерации выкидывает в лог успешную инициализацию и деинициализацию... перед циклом все значения обнуляются, переменная zz обьявлена глобально

Хехе :) с моим индюком такая фишка не пройдет.
Нету у меня значения EMPTY_VALUE, рисую ручками, так что все значения буфера заполнены значениями.

Сорри, что только сейчас заметил.


Индикатор писался никак не для автоматического трейдинга и для него не предназначен.

DrShumiloff
611
DrShumiloff  
Можно ли как-то повысить чувствительность индикатора? У меня он процентов 10 четких переломов не видит...
Комбинатор
16173
Комбинатор  
DrShumiloff:
Можно ли как-то повысить чувствительность индикатора? У меня он процентов 10 четких переломов не видит...

Угу, уменьшить ширину канала.

А еще сглаживание уменьшить до минимума (1).

Да, еще, он отличается от обычного зигзага по принципу, поэтому не стОит ждать от него аналогичных результатов. Считайте его просто другим инструментом, который со стандартным ЗЗ ничего общего не имеет.

MQL4 Comments
16319
MQL4 Comments  
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий