История на данных программы MMLevls_VG.mq4 (построение линий Мюррея).

 
Меня заинтересовала проверка достоверности построения линий Мюррея по алгоритму, примененному в программе MMLevls_VG.mq4 (Vladislav Goshkov).
Кстати, данный алгоритм применен практически во всех индикаторах, строящих линии Мюррея, которые мне удалось найти Google'м. Построение истории
осуществляется с небольшими изменениями выводной части программы практически простой заменой OBJ_HLINE на OBJ_RECTANGLE. Сам алгоритм
вычисления линий Мюррея остался без изменений. Результат оказался неоднозначным. На мой взгляд имеет место очень много несоотвествий описанию
метода построения MML, данному Tim Kruzel.
Прилагаемую программу MMLevls_VG_1.mq4 лучше смотреть на сжатом по вертикали до 15-20 пипс/деление графике из-за зависимости от данного
масштаба ширины OBJ_RECTANGLE'ов.
Хотелось бы услышать мнение коллег по возможности корректировки данного алгоритма для обеспечения его полного соответсвия методу Мюррея.

(Не переживай - пережовывай)
Файлы:
 
Наверное лучше чем сам Vladislav на этот вопрос вам всё равно никто не ответит ;o)
Он бывает на этом форуме. Может быть просто напишите ему на e-mail свои вопросы? Его e-mail в коде индикатора.
 
solandr писал (а):
Наверное лучше чем сам Vladislav на этот вопрос вам всё равно никто не ответит ;o)
Он бывает на этом форуме. Может быть просто напишите ему на e-mail свои вопросы? Его e-mail в коде индикатора.

С моей кочки зрения тема крайне интересная и не только для нас двоих. А за совет спасибо.
 
Кстати говоря этот индикатор Vladislav выкладывал и в этой ветке https://www.mql5.com/ru/forum/50458 , где имеется и некоторая информация по его применению. Раз уж вы самим индикатором заинтересовались, то может быть и некоторая информация по его применению в стратегии также вас заинтересует. Самая свежая версия индикатора в той ветке выкладывалась Vladislav-ом где-то в июне месяце. Если будете чиать ветку, то обязательно её найдёте ;o))).
Я тоже его пробовал применить в своей стратегии. Безусловно индикатор обладает определённой статистической обоснованностью. Сейчас я правда просто пошёл в другом направлении (в каком именно описано в той же ветке) и этот индикатор уже не применяю, но тем не менее настоятельно рекомендую вам поэкспериментировать с ним в своей стратегии. У каждого ведь всё равно "свой велосипед". Возможно вам он будет очень полезен?
 
solandr писал (а):
Кстати говоря этот индикатор Vladislav выкладывал и в этой ветке https://www.mql5.com/ru/forum/50458 , где имеется и некоторая информация по его применению. Раз уж вы самим индикатором заинтересовались, то может быть и некоторая информация по его применению в стратегии также вас заинтересует. Самая свежая версия индикатора в той ветке выкладывалась Vladislav-ом где-то в июне месяце. Если будете чиать ветку, то обязательно её найдёте ;o))).
Я тоже его пробовал применить в своей стратегии. Безусловно индикатор обладает определённой статистической обоснованностью. Сейчас я правда просто пошёл в другом направлении (в каком именно описано в той же ветке) и этот индикатор уже не применяю, но тем не менее настоятельно рекомендую вам поэкспериментировать с ним в своей стратегии. У каждого ведь всё равно "свой велосипед". Возможно вам он будет очень полезен?
Спасибо за подсказку. Почти три часа с большим удовольствие читал Ваши с Владиславом диалоги. Весьма поучительно. Однако, что касается линий Мюррея, то как я и говорил в первом посте - алгоритм их построения практически во ВСЕХ выложенных в инете индикаторах один и тот же с точностью до обозначения переменных. Что касатся "велосипеда", то меня сегодня интересует только качественная оценка возможного поведения рынка по ряду признаков, в числе которых я естественно использую минимумы и максимумы. Поэтому в первую очередь меня интересует способ привязки совокупности близких по амплитуде значений к некому усредненному уровню. А линии Мюррея кроме этого дают еще и долнительную статистически значимую информацию, но при условии их правильного построения. По привязке к уровням проблем нет - их можно просто посчитать, а вот дополнительную информацию при использовании данного алгоритма взять не просто. То, что я это решу эту задачку не сомневаюсь. Просто не люблю биться лбом в ворота которые уже могут быть кем то открыты.

 Успехов Вам и с наступающим  Новым Годом!
 
Действительно при использовании индикатора существует неоднозначность в определении уровней. Расчитываемые уровни зависят от временного диапазона, который задаётся во входных параметрах. При этом кроме самих численных значений уровней, что вполне естественно, может изменяться ещё и расстояние между соседними уровнями к примеру в 2 раза. Я в своём советнике обходил это неудобство следущим образом:

double Murr_levels_raschet[1][13];
int P_array[39]={10,15,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,
                 100,105,110,115,120,125,130,135,140,145,150,155,160,
                 165,170,175,180,185,190,195,200,205,210,215,220,225,
                 230,235,240,245,250,255,260,265,270,275,280,285,290,
                 295,300,350,400,450,500,550,600,700,800,900,1000,
                 1500,2000};
for(m=ArraySize(P_array)-1;m>=0;m--)
  {
   P = P_array[m];
   if(Bars<P && !IsTesting()) 
     {
       Print("Имеется ",Bars," баров, а нужно ",P);
       continue;
     }
   Murrey_function_script(0,0,Murr_levels_raschet);
   //Уровни Мюррея
   //12 - верхняя белая толстая
   //11 - верхняя белая тонкая
   //10 - верхняя бирюзовая
   //9  - верхняя жёлтая
   //8  - верхняя красная
   //7  - верхняя зелёная
   //6  - центральная синяя
   //5  - нижняя зелёная
   //4  - нижняя красная
   //3  - нижняя жёлтая
   //2  - нижняя бирюзовая
   //1  - нижняя белая тонкая
   //0  - нижняя белая толстая
   if(Murr_levels_raschet[0][8]-Murr_levels_raschet[0][4]>100*Point && 
      Murr_levels_raschet[0][8]-Murr_levels_raschet[0][4]<200*Point)
     {
      for(l=0;l<=12;l++)
      {
         Murr_levels[0][l]=Murr_levels_raschet[0][l];
         
      }
      
      if(!IsTesting()) 
          Print("P=",P," ЖёлтаяDOWN=",Murr_levels[0][3]," ЖёлтаяUP=",Murr_levels[0][9],
                " Разница между КРАС уровнями =",Murr_levels[0][8]-Murr_levels[0][4]);
      break;
   }
Извиняюсь за "непричёсаность" задания массива P_array[39].
Просто в связи с длительностью расчётов в моём эксперте я просто вручную задавал с течением времени диапазон значений, постепенно его расширяя. Конечно же можно гораздо упростить задание этого массива через цикл for.

Сделаю пояснения к коду. В коде я просто перебирал значения уровней индикатора Мюррея Vladislav-а с тем чтобы найти значение временного диапазона, на котором ширина между верхней и нижней красной линией лежала бы в диапазоне от 100 до 200 пипсов. Точнее говоря это значение для определённой валюты всегда фиксировано. Например для EURUSD оно всегда было равно 122, если не ошибаюсь. Других значений в диапазоне от 100 до 200 пипсов индикатор никогда не выдавал для этой валюты. Так вот я начинал просмотр уровней от самых широких временных интервалов, сужая временной диапазон для анализа. И за актуальные значения Murr_levels уровней индикатора Мюррея я принимал расчётные значения первого временного диапазона, на котором расстояние между красными уровнями равнялось заданному значению.
Я экспериментировал также и с проходом от мального временного интервала до большого, но мне показалось (возможно просто на основе логических рассуждений), что поиск уровней от более широкого временного интервала к более узкому является более логически обоснованным. Эксперт работал на периоде М30.

Вам также всяческих успехов и процветания в Новом году!
 
solandr писал (а):

Вам также всяческих успехов и процветания в Новом году!
    Спасибо!
Причина обращения: