안녕하세요, 트레이더 여러분! 오늘은 MetaTrader 5에서 사용할 수 있는 캔들코드(Candle_Code) 인디케이터에 대해 알아보겠습니다. 이 인디케이터는 별도의 창에 각 캔들스틱의 "코드"를 라인 형태로 표시해 주는데요, 각 캔들의 파라미터 비율에 기반하여 만들어집니다.
캔들스틱의 주요 파라미터
각 캔들스틱의 파라미터는 전체적인 모습에서 특정한 비중을 갖습니다:
- 캔들바 본체 크기;
- 상단 그림자 크기;
- 하단 그림자 크기;
- 캔들 방향;
- 인접한 캔들 간의 간격 (현재 캔들과 이전 캔들 간의 간격).
각 파라미터의 비중이 평균 범위의 두 배를 초과하면, 그 비중이 할당됩니다. 그렇지 않을 경우, 그 비중은 파라미터 범위와 두 배 평균 범위로 나누어진 값으로 조정됩니다.
이렇게 계산된 데이터를 바탕으로 이동 평균(Weights Data)을 구축하여 차트에 캔들스틱의 데이터를 표시합니다(기본적으로 이 라인은 비활성화되어 있습니다). 이후 이 라인은 부드럽게 처리되어 기본 인디케이터 라인(Primary MA)을 형성합니다. 그리고 두 번째 인디케이터 라인(Secondary MA)은 기본 인디케이터를 부드럽게 처리하여 생성됩니다.
인디케이터의 입력 파라미터
캔들코드 인디케이터에는 총 10개의 입력 파라미터가 있습니다:
- 본체 크기 비중 - 캔들바 본체의 비중;
- 상단 그림자 비중 - 상단 그림자의 비중;
- 하단 그림자 비중 - 하단 그림자의 비중;
- 캔들 방향 비중 - 캔들의 방향 (강세/약세) 비중;
- 간격 비중 - 인접한 캔들 간의 거리 비중;
- 비중 데이터 라인 표시 - 각 캔들에 대한 계산된 비중 데이터를 표시할지 여부 (예/아니오);
- 첫 번째 MA 기간 - 캔들 비중으로 계산된 첫 번째 부드러운 이동 평균의 기간;
- 첫 번째 MA 방법 - 첫 번째 이동 평균 계산 방법;
- 두 번째 MA 기간 - 첫 번째 MA 데이터를 기반으로 계산된 두 번째 부드러운 이동 평균의 기간;
- 두 번째 MA 방법 - 두 번째 이동 평균 계산 방법.
캔들바 본체 비중 계산의 예시:
만약 Abs(Open-Close) >= Avg(Open-Close)
BodySize = BodyWeight
그렇지 않으면
BodySize = BodyWeight * (Abs(Open-Close)) / Avg(Open-Close)
여기서:
Abs(Open-Close) = 캔들바 본체의 절대 크기 Avg(Open-Close) = 과거 데이터 기간 동안의 캔들바 본체의 평균 크기 BodyWeight = 파라미터에서 정의된 캔들바 본체 비중

Fig 1. 기본 비중.

Fig. 2. 캔들 방향 비중 = 512

Figure 2. 기본 비중, 데이터 표시 = 예
댓글 0