применить timeshift для EMA

 

Здравствуйте!

Помогите советом или кусочком кода который бы позволил решить следующую проблему:

У меня есть индикатор который отображает EMA110 на текущем графике (допустим H1). Пользуясь функцией iMA я на текущем графике отображаю EMA110 для периода H4.

Кривая вроде бы правильно отображается (полностью повторяет кривую которая отображается для периода H4), да не правильно с точки зрения как хотелось бы.

А хотелось бы чтобы кривая на Н1 рисовалась в точности для каждого бара как на Н4 (тк на 1 бар для Н4 приходится 4 бара Н1 то получается что для первого бара на Н1 возьмется значение iMA для бара на Н4, для второго бара на Н1 возьмется значение для 2 бара на Н2, а это уже 7 часов разницы!!!).


Я думаю что нужно просто в период с первого бара по 4-ый на Н1 заполнялся массив для индюка такими же значениями iMA от Н4 пока не перейдем на второй бар на Н4 и так далее.

естественно H1 и H4 это не жестко зашитые значения и нужно варьировать timeshift в различных вариантах.

Есть какие то решения как это организовать средствами MQL языка или нужно будет городить свой сложный алгоритм для реализации правильного отображения кривой EMA для старших периодов?



Спасибо.

 

EMA110 - H4 == EMA440 - H1

И еще :https://www.mql5.com/ru/search

 
xrust:

EMA110 - H4 == EMA440 - H1

И еще :https://www.mql5.com/ru/search

про MTF не совсем понятно, что вы этим хотели сказать.



спасибо за совет по поводу перевода EMA, а есть ли какой нить алгоритм для переводов EMA из одного периода в другой?

Меня интересует и EMA233 как будет выглядеть на H1 и H4 и EMA30 и еще несколько...



Спасибо.

 
здесь посмотри. MTF==MultiTimeFrame.
Файлы:
 
xrust:
здесь посмотри. MTF==MultiTimeFrame.

спасибо.



Код посмотрел. Осталось только не понятно откуда взялись такие коэффициента и почему при таймфрейме больше 240 они остаются постоянными.

а EMA233 к чему отнести? Из вашего кода получается что нужно считать по коэффициентам от H1. Поправьте меня если я не правильно понял.

 
Константа Значение Описание
PERIOD_M111 минута
PERIOD_M555 минут
PERIOD_M151515 минут
PERIOD_M303030 минут
PERIOD_H1601 час
PERIOD_H42404 часа
PERIOD_D114401 день
PERIOD_W1100801 неделя
PERIOD_MN1432001 месяц
0 (ноль)0Период текущего графика


И вообще В шапке сайта есть кнопочки "Документация " и "Учебник", почему бы тебе не сходить туда, а потом если чего непонятно задавать вопросы....

 
xrust:
Константа Значение Описание
PERIOD_M111 минута
PERIOD_M555 минут
PERIOD_M151515 минут
PERIOD_M303030 минут
PERIOD_H1601 час
PERIOD_H42404 часа
PERIOD_D114401 день
PERIOD_W1100801 неделя
PERIOD_MN1432001 месяц
0 (ноль)0Период текущего графика


И вообще В шапке сайта есть кнопочки "Документация " и "Учебник", почему бы тебе не сходить туда, а потом если чего непонятно задавать вопросы....

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

Спасибо, что вы потрудились и нашли табличку в документации, но она к вопросу совсем не имеет никакого отношения.



  if(per==1){ma1=period;
            ma2=period*5;
            ma3=period*15;
            ma4=period*30;
            ma5=period*60;
            ma6=period*240;
            }
  if(per==5){ma1=period;
            ma2=period*3;
            ma3=period*6;
            ma4=period*12;
            ma5=period*48;
            ma6=period*288;
            }
  if(per==15){ma1=period;
            ma2=period*2;
            ma3=period*4;
            ma4=period*16;
            ma5=period*96;
            ma6=period*672;
            }
  if(per==30){ma1=period;
            ma2=period*2;
            ma3=period*8;
            ma4=period*48;
            ma5=period*336;
            ma6=0;
            }
  if(per==60){ma1=period;
            ma2=period*4;
            ma3=period*24;
            ma4=period*168;
            ma5=period*336;
            ma6=0;
            } 
  if(per==240){ma1=period;
            ma2=period*3;
            ma3=period*21;
            ma4=period*84;
            ma5=period*252;
            ma6=0;
            }
  if(per>240){ma1=period;
            ma2=period*3;
            ma3=period*8;
            ma4=period*21;
            ma5=period*55;
            ma6=period*144;
            }
Это вырезка из вашего примера.


Я спрашивал вот про какие коэффициенты и откуда они взяты. Как из этого примера рассчитать EMA233 для H1 и H4?

 

Возьми и сопоставь коэффициенты из таблички и примера, на старших периодах коэффициенты не совпадают,потому что мне так захотелось,потому что меня интересовал 3 дневн.пер.8 дневн. и тд

            ma2=period*5;   PERIOD_M5   5
            ma3=period*15;  PERIOD_M15  15
            ma4=period*30;  PERIOD_M30  30
            ma5=period*60;  PERIOD_M60  60
            ma6=period*240; PERIOD_M240 240
 
xrust:

Возьми и сопоставь коэффициенты из таблички и примера, на старших периодах коэффициенты не совпадают,потому что мне так захотелось,потому что меня интересовал 3 дневн.пер.8 дневн. и тд

            ma2=period*5;   PERIOD_M5   5
            ma3=period*15;  PERIOD_M15  15
            ma4=period*30;  PERIOD_M30  30
            ma5=period*60;  PERIOD_M60  60
            ma6=period*240; PERIOD_M240 240

Понятно, меня интересовало в первую очередь старшие периоды, поэтому мы друг друга не понимали.

Спасибо за ответы - будем думать, ибо не все ясно и очевидно..

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