int _AppliedTo

Переменная _AppliedTo позволяет узнать в индикаторе тип данных, на которых он расcчитывается:

Тип данных

Значение

Описание данных, используемых для расчета индикатора

0

Индикатор использует вторую форму вызова OnCalculate() - данные для расчета не задаются одним каким-то буфером или массивом данных

Close

1

Цены Close

Open

2

Цены Open

High

3

Цены High

Low

4

Цены Low

Median Price (HL/2)

5

Средняя цена = (High+Low)/2

Typical Price (HLC/3)

6

Типическая цена = (High+Low+Close)/3

Weighted Price (HLCC/4)

7

Взвешеннаяя цена = (Open+High+Low+Close)/4

Previous Indicator's Data

8

Данные индикатора, который был запущен на график перед данным индикатором

First Indicator's Data

9

Данные индикатора, который был запущен на график самым первым

Indicator handle

10+

Данные с индикатора, переданного в функцию iCustom() с помощью хендла индикатора. Значение _AppliedTo содержит хендл индикатора

 

Пример:

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,Label1Buffer,INDICATOR_DATA);
// получим тип данных, на котором считается индикатор
   Print("_AppliedTo=",_AppliedTo);
   Print(getIndicatorDataDescription(_AppliedTo));
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Описание данных, на которых расчитывается индикатор              |
//+------------------------------------------------------------------+
string getIndicatorDataDescription(int data_id)
  {
   string descr="";
   switch(data_id)
     {
      case(0):descr="It's first type of OnCalculate() - no data buffer";
         break;
      case(1):descr="Indicator calculates on Close price";
         break;
      case(2):descr="Indicator calculates on Open price";
         break;
      case(3):descr="Indicator calculates on High price";
         break;
      case(4):descr="Indicator calculates on Low price";
         break;
      case(5):descr="Indicator calculates on Median Price (HL/2)";
         break;
      case(6):descr="Indicator calculates on Typical Price (HLC/3)";
         break;
      case(7):descr="Indicator calculates on Weighted Price (HLCC/4)";
         break;
      case(8):descr="Indicator calculates Previous Indicator's data";
         break;
      case(9):descr="Indicator calculates on First Indicator's data";
         break;
      default: descr="Indicator calculates on data of indicator with handle="+string(data_id);
         break;
     }
//---
   return descr;
  }

Смотри также

ENUM_APPLIED_PRICE