Группа "Стол заказов MQL"

Рейтинг 2081



РЕКОМЕНДУЮ



Достучаться до небес.

Достучаться до небес буфера индикатора.

Здравствуйте. В подвале иногда бывают индюки, которые хочется сгладить с помощью МА.
Собственно, вопрос: как получить значения МАшки, накинутой на First indicator data?





Если нет способа, то не откажусь от готовой функции, вычисляющей среднее за N периодов.

Спасибо, друзья.
  • 0
  • Просмотров: 768
  • 23 января 2022, 16:39
  • Enot-pipsun
Понравилcя материал? Не забудьте поставить плюс и поделиться в социальной сети!

Вступите в группу "Стол заказов MQL", чтобы следить за обновлениями
ПРИСОЕДИНИТЬСЯ К ГРУППЕ
присоединиться
  Предыдущая запись в группе
И снова Коробка
Следующая запись в группе  
Советник Ловец
22 января 2022
24 января 2022

Комментарии (4)

+
0
литтл апдейт. неплохо бы задавать смещение МА в обе стороны.
*stesnitelno* 
avatar

  12  Enot-pipsun Автор Сообщений: 292

  • 23 января 2022, 17:42
+
0
avatar

  18  GAWroch Сообщений: 84 - Вячеслав

  • 23 января 2022, 18:23
+
0
Один из вариантов:

//+------------------------------------------------------------------+
//|                                                     Ma & RSI.mq4 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                          http://www.mункцql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link      "http://www.mункцql5.com"
#property version   "1.00"
#property strict
#property indicator_separate_window

#property indicator_buffers 3

#property indicator_minimum 0
#property indicator_maximum 100

#property indicator_color1  White
#property indicator_color2  Red

extern int RSIPeriod       = 9;
extern int AppliedPrice    = 0;
extern int MAPeriod        = 5;

// buffers
double IndValues[];        // Значения индикатора
double SmoothedValues[];   // Сглаженные значения индикатора

int DigitsUsed = 2;
int EmptyValueUsed = 0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0, IndValues);
   SetIndexBuffer(1, SmoothedValues);
   
   // задаем настройки для буферов
   SetIndexStyle(0, DRAW_LINE);     // Основной сигнал будет сплошной линией
   SetIndexStyle(1, DRAW_LINE, STYLE_DASH); // Сглаженный -- штриховой
   
   IndicatorDigits(DigitsUsed);
   
   SetIndexDrawBegin(0, RSIPeriod);
   SetIndexDrawBegin(1, RSIPeriod + MAPeriod);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
    int toCount = Bars - IndicatorCounted();  
   // Считаем значения индикатора
   for (int i = toCount - 1; i >=0; i--)
   {
      IndValues[i] = NormalizeDouble(iRSI(Symbol(), 0, RSIPeriod, AppliedPrice, i), DigitsUsed);
   }     
   // Считаем сглаженные значения индикатора
   for (int i = toCount - 1; i >=0; i--)
   {
      SmoothedValues[i] = NormalizeDouble(iMAOnArray(IndValues, 0, MAPeriod, 0, MODE_SMA, i), DigitsUsed);
   }
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+


Смещение добавьте сами по аналогии с ВВ, Энвелопс или Ма с конвертами
avatar

  16  ssg Сообщений: 817

  • 24 января 2022, 06:07
+
0
Спасибо, про функцию iMAOnArray не знал.
avatar

  12  Enot-pipsun Автор Сообщений: 292

  • 24 января 2022, 19:35

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