Индикатор математических уровней Мюррея по алгоритму Vladyslav Goshkov - страница 2

 
Dmitry Fedoseev:


Больше всего вопросов вызывает функция DetermineFractal - не просматривается система, сначала уровни на 10 уменьшаются, потом делятся на 2.

Нормальное решение)))) В этом что то есть. Не заморачиваясь на точности) Для многих задач норм, и обратной задачей определение диапазона нахождения цены 10 тью значениями)

 
Valeriy Yastremskiy:

Нормальное решение)))) В этом что то есть. Не заморачиваясь на точности) Для многих задач норм, и обратной задачей определение диапазона нахождения цены 10 тью значениями)

это похоже на масштаб.

а словом fractal назван для красного словца. Если максимум порядка 10^5 то возможные колебания (предел) 10^4 и так далее до момента когда стоит смотреть обратные величины.

 

Доброго времени суток. Многого уже не помню - давно было: когда МКЛ4 сменял МКЛ3, первые варианты были написаны еще на МКЛ3 ))))). 
Вообще первые исходники на МКЛ4 выкладывал не в базе кодов mql, а на одном из трейдерских форумов - ник VG. В базу кодов выложил значительно позже. Поэтому вариантов реализации может быть больше одного. К тому же, я не один, кто по статье писал свои варианты реализаций.

Позже подробное обсуждение вариантов алгоритма было на форуме трейдеров metaquotes, если не ошибаюсь metaquotes.net . Похоже, что сейчас все похоронено.
Алгоритм основывается на заметках Тима Крузела. Тогда эти заметки были выложены на сайте http://mysite.verizon.net/bonniehill/pages/murrey.html#hints . Статья, которую Вы выложили, насколько  помню, соответствует. Похоже, что  сам сайт сейчас не существует.

По сути вопросов о формулах - это масштабирование и округление. Из каких соображений масштабирование - точно, наверное, и не вспомню: алгоритм тогда активно модернизировался. Хотя масштабирование по логарифмической шкале ничем не хуже других. Округление - прямо по пошаговому алгоритму, изложенного Крузелом.

О том варианте алгоритма для МКЛ4, что Вы приводили:
1. Это далеко не первый вариант и, насколько я помню, не последний.
2. Этот вариант базируется на минутном графике по умолчанию ( MMPeriod =1440 ) и для всех внутридневных чартов должен давать одинаковые значения. Базовый период можно сменить, но для периодов, меньше базового, будет искажение.
3. Недостаток этого варианта - поиск максимального и минимального значения на интервале.
4. Более интересным оказался вариант, который ищет максимальный и минимальный экстремум заданного порядка  на интервале ( для примера: фрактал - экстремум второго порядка: два бара до, два после) и строит диапазон октавы по этим значениям.
5. Второй недостаток - расчет только для одного бара и рисует октавы в ретроспективу. Для проверки по истории была введена переменная  StepBack. Задавая отличные от нуля значения, можно было посмотреть показания индикатора на истории.
6. Более поздние варианты рисуют из прошлого в настоящее и сразу показывают уровни по истории.
Вариант для МКЛ5 не смотрел, но если он просто переведен с МКЛ4, то все недостатки сохранены.

 
Vladyslav Goshkov:

Доброго времени суток. Многого уже не помню - давно было: когда МКЛ4 сменял МКЛ3, первые варианты были написаны еще на МКЛ3 ))))). 
Вообще первые исходники на МКЛ4 выкладывал не в базе кодов mql, а на одном из трейдерских форумов - ник VG. В базу кодов выложил значительно позже. Поэтому вариантов реализации может быть больше одного. К тому же, я не один, кто по статье писал свои варианты реализаций.

Позже подробное обсуждение вариантов алгоритма было на форуме трейдеров metaquotes, если не ошибаюсь metaquotes.net . Похоже, что сейчас все похоронено.
Алгоритм основывается на заметках Тима Крузела. Тогда эти заметки были выложены на сайте http://mysite.verizon.net/bonniehill/pages/murrey.html#hints . Статья, которую Вы выложили, насколько  помню, соответствует. Похоже, что  сам сайт сейчас не существует.

По сути вопросов о формулах - это масштабирование и округление. Из каких соображений масштабирование - точно, наверное, и не вспомню: алгоритм тогда активно модернизировался. Хотя масштабирование по логарифмической шкале ничем не хуже других. Округление - прямо по пошаговому алгоритму, изложенного Крузелом.

О том варианте алгоритма для МКЛ4, что Вы приводили:
1. Это далеко не первый вариант и, насколько я помню, не последний.
2. Этот вариант базируется на минутном графике по умолчанию ( MMPeriod =1440 ) и для всех внутридневных чартов должен давать одинаковые значения. Базовый период можно сменить, но для периодов, меньше базового, будет искажение.
3. Недостаток этого варианта - поиск максимального и минимального значения на интервале.
4. Более интересным оказался вариант, который ищет максимальный и минимальный экстремум заданного порядка  на интервале ( для примера: фрактал - экстремум второго порядка: два бара до, два после) и строит диапазон октавы по этим значениям.
5. Второй недостаток - расчет только для одного бара и рисует октавы в ретроспективу. Для проверки по истории была введена переменная  StepBack. Задавая отличные от нуля значения, можно было посмотреть показания индикатора на истории.
6. Более поздние варианты рисуют из прошлого в настоящее и сразу показывают уровни по истории.
Вариант для МКЛ5 не смотрел, но если он просто переведен с МКЛ4, то все недостатки сохранены.

@Vladyslav Goshkov, большое спасибо за Ваш ответ.

По поводу других алгоритмов - я в сети порядка 50 индюков нашел и все строятся на вашем примере с логарифмированием.
Кстати, прогнал Ваш алгоритм по примерам Крузела и все цифры из его примеров бьются.

По больше части я разобрался, но остался вопрос без ответа.

У Вас в примере есть нахождение xx и yy.

Для чего эти проверки? Логику хочется понять.

з.ы. вот кстати сайт о котом идет речь http://www.bonniehill.net/pages/murrey.html

// calculating xx
//x2
   double x2=0;
   if((min>=(3*(mx-mn)/16+mn)) && (max<=(9*(mx-mn)/16+mn)))
      x2=mn+(mx-mn)/2;
//x1
   double x1=0;
   if((min>=(mn-(mx-mn)/8)) && (max<=(5*(mx-mn)/8+mn)) && (x2==0))
      x1=mn+(mx-mn)/2;
//x4
   double x4=0;
   if((min>=(mn+7*(mx-mn)/16)) && (max<=(13*(mx-mn)/16+mn)))
      x4=mn+3*(mx-mn)/4;
//x5
   double x5=0;
   if((min>=(mn+3*(mx-mn)/8)) && (max<=(9*(mx-mn)/8+mn)) && (x4==0))
      x5=mx;
//x3
   double x3=0;
   if((min>=(mn+(mx-mn)/8)) && (max<=(7*(mx-mn)/8+mn)) && (x1==0) && (x2==0) && (x4==0) && (x5==0))
      x3=mn+3*(mx-mn)/4;
//x6
   double x6=0;
   if((x1+x2+x3+x4+x5)==0)
      x6=mx;

   double finalH=x1+x2+x3+x4+x5+x6;
// calculating yy
//y1
   double y1=0;
   if(x1>0)
      y1=mn;
//y2
   double y2=0;
   if(x2>0)
      y2=mn+(mx-mn)/4;
//y3
   double y3=0;
   if(x3>0)
      y3=mn+(mx-mn)/4;
//y4
   double y4=0;
   if(x4>0)
      y4=mn+(mx-mn)/2;
//y5
   double y5=0;
   if(x5>0)
      y5=mn+(mx-mn)/2;
//y6
   double y6=0;
   if((finalH>0) && ((y1+y2+y3+y4+y5)==0))
      y6=mn;
      
   double finalL = y1+y2+y3+y4+y5+y6;
   
   double dmml = (finalH-finalL)/8;
 
White Rabbit:


У Вас в примере есть нахождение xx и yy.

Для чего эти проверки? Логику хочется понять.

з.ы. вот кстати сайт о котом идет речь http://www.bonniehill.net/pages/murrey.html

Доброго времени суток. Если не ошибаюсь, это сопоставление/совмещение сетки с реальным диапазоном. Там же не просто деление диапазона на 8 частей. Реализация такая потому, что остался еще с МКЛ3 - а там язык был значительно слабее МКЛ4. Работало, потому оставил как получилось. Уж извините, точнее не вспомню.


За сайт спасибо - точно он.

 
Vladyslav Goshkov:

4. Более интересным оказался вариант, который ищет максимальный и минимальный экстремум заданного порядка  на интервале ( для примера: фрактал - экстремум второго порядка: два бара до, два после) и строит 

Добрый день. Т.е. если стоит период скажем 256, то мы строим не по High-Low, а по максимальному и минимальному фракталам??

P.S. Даже если не так, стоит попробовать реализовать

 
Vitaliy Kuznetsov:

Добрый день. Т.е. если стоит период скажем 256, то мы строим не по High-Low, а по максимальному и минимальному фракталам??

P.S. Даже если не так, стоит попробовать реализовать

Именно. Это давно реализовано - году так в 2006-2007. 

 
Vladyslav Goshkov:

Именно. Это давно реализовано - году так в 2006-2007. 

Это интересно. Многие вещи порой придумываешь, носишься с идеей, создаёшь, а потом встречаешь похожую реализацию бородатых годов)

 
Vitaliy Kuznetsov:

Это интересно. Многие вещи порой придумываешь, носишься с идеей, создаёшь, а потом встречаешь похожую реализацию бородатых годов)

Всё новое - давно забытое старое.

Даже история и та повторяется, методы войны и оружие только разное, а результат тот-же