← К каталогу
Исходный код · ID 4607

MTF_MovingAverage

#mtf_movingaverage_v1.mq5
Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Данный исходный код представляет собой пользовательский индикатор для MetaTrader 5 (язык MQL5), несмотря на то что в заголовке файла указано расширение .mq4. Индикатор отображает скользящую среднюю, рассчитанную на выбранном пользователем таймфрейме, который может отличаться от текущего таймфрейма графика. Это позволяет видеть динамику средней на более старшем или младшем периоде прямо на текущем графике.

В коде используются стандартные функции MetaTrader для работы с индикаторами: SetIndexBuffer, SetIndexStyle, IndicatorShortName, ArrayCopySeries, iMA. Индикатор имеет один буфер для отрисовки линии. Настройки задаются через внешние параметры, которые позволяют выбрать таймфрейм, период средней, сдвиг, метод усреднения и цену применения. Название индикатора формируется динамически в зависимости от выбранных параметров.

Обработка данных происходит в функции start(), где для каждого бара текущего графика определяется соответствующий бар на выбранном таймфрейме и вычисляется значение скользящей средней с помощью iMA. Сдвиг индикатора на графике рассчитывается пропорционально отношению таймфреймов.

Настройки программы

НастройкаОписание
TimeFrame Таймфрейм, на котором рассчитывается скользящая средняя. Задаётся числовым значением периода в минутах. Значение 0 означает текущий таймфрейм графика.
MAPeriod Количество баров, используемых для расчёта скользящей средней. Значение по умолчанию 10.
ma_shift Сдвиг скользящей средней относительно текущего бара. Значение по умолчанию 0.
ma_method Метод усреднения скользящей средней. Задаётся числовым значением: 0 — Simple, 1 — Exponential, 2 — Smoothed, 3 — Linear weighted. Значение по умолчанию 0.
applied_price Цена, к которой применяется скользящая средняя. Задаётся числовым значением: 0 — Close, 1 — Open, 2 — High, 3 — Low, 4 — Median, 5 — Typical, 6 — Weighted. Значение по умолчанию 0.
Получить полный код

Поиск по коду файла

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Blue
#property indicator_width1 2

/*************************************************************************
PERIOD_M1   1
PERIOD_M5   5
PERIOD_M15  15
PERIOD_M30  30 
PERIOD_H1   60
PERIOD_H4   240
PERIOD_D1   1440
PERIOD_W1   10080
PERIOD_MN1  43200
You must use the numeric value of the timeframe that you want to use
when you set the TimeFrame' value with the indicator inputs.
---------------------------------------
PRICE_CLOSE    0 Close price. 
PRICE_OPEN     1 Open price. 
PRICE_HIGH     2 High price. 
PRICE_LOW      3 Low price. 
PRICE_MEDIAN   4 Median price, (high+low)/2. 
PRICE_TYPICAL  5 Typical price, (high+low+close)/3. 
PRICE_WEIGHTED 6 Weighted close price, (high+low+close+close)/4. 
You must use the numeric value of the Applied Price that you want to use
when you set the 'applied_price' value with the indicator inputs.
---------------------------------------
MODE_SMA    0 Simple moving average, 
MODE_EMA    1 Exponential moving average, 
MODE_SMMA   2 Smoothed moving average, 
MODE_LWMA   3 Linear weighted moving average. 
You must use the numeric value of the MA Method that you want to use
when you set the 'ma_method' value with the indicator inputs.

**************************************************************************/
extern int TimeFrame=0;
extern int MAPeriod=10;
extern int ma_shift=0;
extern int ma_method=0;
extern int applied_price=0;

double ExtMapBuffer1[];

int init()
  {
      // код доступен только после оплаты
   }
   string short_name;

   SetIndexBuffer(0,ExtMapBuffer1);
   SetIndexStyle(0,DRAW_LINE);
   if(TimeFrame==0) TimeFrame = Period();
   SetIndexShift(0,m

Показано первые 50% кода (символов: 2726)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
272,60₽ ≈ $3.39