Скачать MetaTrader 5

Индикаторы: sumMA

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

sumMA:

усредненная сумма разнопериодных скользящих средних.

Author: Виктор

MQL4 Comments
16319
MQL4 Comments  

Не перевелись на Руси еще кулибины... Но зачем же велосипед?

Среднее значение между двумя диапазонами 10 и 20 будет 15. Так в чем же отличие от простой машки со значением 15??? Принципиальных отличий не вижу.

MQL4 Comments
16319
MQL4 Comments  

Да-а... Почитатели машек уже не знают, где бы чего и как еще усреднить, засуммировать и сгладить...

MQL4 Comments
16319
MQL4 Comments  

нельзя ли его немножко модернизировать: сделать так что бы такие параметры как: метод сглаживания скользящей, сдвиг скользящей, и цена по которой строится скользящая, для каждой из двух изначально задаваемых МА вводились отдельно т.е. другими словами для каждой скользящей отдельно вводились бы свои параметры. Буду вам очень благодарен если вы поможете, поскольку в коде программирования МТ4 я не разбираюсь и внести эти изменения сам не смогу.

Спасибо

Виктор
15
Виктор  
RAKETA:

нельзя ли его немножко модернизировать: сделать так что бы такие параметры как: метод сглаживания скользящей, сдвиг скользящей, и цена по которой строится скользящая, для каждой из двух изначально задаваемых МА вводились отдельно т.е. другими словами для каждой скользящей отдельно вводились бы свои параметры. Буду вам очень благодарен если вы поможете, поскольку в коде программирования МТ4 я не разбираюсь и внести эти изменения сам не смогу.

Спасибо


Это можно сделать, скажем для двух-десяти скользящих. Индикатор же считает сумму всех скользящих диапазона. И если диапазон, например, от 10 до 100 периода, то это придется задавать переменные для 90 скользящих. Для 2 скользящих сделать это легко. Позже выложу.

Виктор
15
Виктор  
//+------------------------------------------------------------------+
//|                                                   sumTWOma.mq4 |
//|                      Copyright © 2008, MetaQuotes Software Corp. |
//|                                        http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "jax1000"
#property link      "jax1000@list.ru"
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red
extern int period1=20;//период MA1
extern int period2=100;//период MA2
extern int MA_Method1=0;//метод сглаживания MA1
extern int Price1=0;//цена MA1
extern int shift1=0;//сдвиг MA1, относительно номера бара
extern int MA_Method2=0;//метод сглаживания MA2
extern int Price2=0;//цена MA2
extern int shift2=0;//сдвиг MA2, относительно номера бара
extern int width=1;//толщина линии индикатора
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
double Buffer[];
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
   
   SetIndexStyle(0,0,0,width);
   SetIndexBuffer(0,Buffer);
   SetIndexLabel(0,"SUM/MA");
       
   
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
    {
     int limit;
     int counted_bars=IndicatorCounted();
  //---- последний посчитанный бар будет пересчитан
     if(counted_bars>0) counted_bars--;
     limit=Bars-counted_bars;
  //---- основной цикл
     for(int i=0; i<limit; i++)
       {string symbol=Symbol();
     Buffer[i]=(Ma(symbol,0,period1,shift1,MA_Method1,Price1,i)+Ma(symbol,0,period2,shift2,MA_Method2,Price2,i))/2;
   
    }
     
   return(0);
  }
//+------------------------------------------------------------------+
//функция расчета скользящей средней
double Ma(string valuta, int frame, int period, int shift, int MA_Method, int Price, int z)
  {
   double res1=0;
   res1=iMA(valuta,frame,period,shift,MA_Method,Price,z);
   return(res1);
  } 

это код для суммы двух МА. В настройках можно выбрать тип сглаживания, цену, сдвиг и период для них отдельно.

MQL4 Comments
16319
MQL4 Comments  

спасибо, огромное при огромное, очень благодарен

MQL4 Comments
16319
MQL4 Comments  

Арифметику не плохо бы вспомнить.

Возьмем средние от 2 до 10.

(2+3+4+5+6+7+8+9+10) /9=54/9=6

Теперь считаем (2+10)/2=6

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