int _AppliedTo

_AppliedTo 변수를 사용하면 지표 계산에 사용되는 데이터 유형을 확인할 수 있습니다.:

데이터 유형

의미

지표 계산에 사용되는 데이터에 대한 설명.

0

이 지표는 두 번째 OnCalculate() 호출 양식을 사용합니다 - 계산을 위한 데이터가 특정 버퍼 또는 데이터 배열에 의해 지정되지 않았습니다.

Close

1

종가

Open

2

시가

High

3

고가

Low

4

저가

중위가 (HL/2)

5

Median price = (High+Low)/2

표준가 (HLC/3)

6

Typical price = (High+Low+Close)/3

가중가 (HLCC/4)

7

Weighted price = (Open+High+Low+Close)/4

이전 지표 데이터

8

이 지표보다 먼저 차트에서 시작된 지표의 데이터

첫 지표 데이터

9

차트에서 먼저 시작된 지표의 데이터

지표 핸들

10+

지표 핸들을 사용하여 iCustom() 함수에 전달된 지표 데이터. _AppliedTo 값에 지표 핸들이 포함되어 있습니다.

 

예:

//+------------------------------------------------------------------+
//| 커스텀 지표 초기화 함수                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- 지표 버퍼 매핑
   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="첫 번째 유형의 OnCalculate() - 데이터 버퍼 없음";
         break;
      case(1):descr="지표가 종가 기준으로 계산됨.";
         break;
      case(2):descr="지표가 시가 기준으로 계산됨";
         break;
      case(3):descr="지표가 고가 기준으로 계산됨";
         break;
      case(4):descr="지표가 저가 기준으로 계산됨";
         break;
      case(5):descr="지표가 중위가(HL/2) 기준으로 계산됨";
         break;
      case(6):descr="지표가 표준가(HLC/3) 기준으로 계산됨";
         break;
      case(7):descr="지표가 가중가(HLCC/4) 기준으로 계산됨";
         break;
      case(8):descr="지표가 이전 지표의 데이터를 기준으로 계산됨";
         break;
      case(9):descr="지표가 첫번째 지표의 데이터를 기준으로 계산됨";
         break;
      default: descr="지표가 핸들을 지닌 다음 지표의 데이터를 기준으로 계산됨="+string(data_id);
         break;
     }
//---
   return descr;
  }

참고 항목

ENUM_APPLIED_PRICE