캔들 카운터 인디케이터란?
안녕하세요, 트레이더 여러분! 오늘은 메타트레이더 5에서 사용할 수 있는 유용한 인디케이터인 캔들 카운터에 대해 소개해 드리려고 합니다. 이 인디케이터는 여러분이 차트를 보다 효과적으로 분석할 수 있도록 도와줍니다.
주요 기능
-
주 선택:
SelectedWeek 매개변수를 통해 몇 번째 주의 캔들을 번호 매길지 설정할 수 있습니다.
SelectedWeek가 0일 경우, 모든 주의 캔들이 번호가 매겨집니다.
0이 아닌 값일 경우, 선택한 주의 캔들만 번호가 매겨집니다.
-
역순 카운트:
NumberFirstCandle이 false일 경우, 하루의 마지막 캔들부터 거꾸로 번호가 매겨집니다.
-
동적 필터링:
선택한 주(SelectedWeek)에 따라 캔들을 필터링하고 나머지는 무시합니다.
-
동적 텍스트 위치 조정:
캔들이 상승세일 경우 숫자가 위에, 하락세일 경우 아래에 위치합니다.
텍스트와 캔들 간의 간격은 PriceOffsetFactor 매개변수로 조정할 수 있습니다.
-
비주얼 커스터마이징:
색상, 폰트, 텍스트 크기 및 앵커 유형을 조정하여 외관을 개선할 수 있습니다.
-
최적화된 성능:
인디케이터는 새로운 객체를 생성하기 전에 오래된 차트 객체를 삭제하여 불필요한 오버헤드를 줄입니다.
입력 매개변수
PriceOffsetFactor |
텍스트와 캔들 간의 동적 간격 조정 인자입니다. |
0.5 |
InpTextColourAbove |
상승 캔들 위 텍스트의 색상입니다. |
clrSpringGreen |
InpTextColourBelow |
하락 캔들 아래 텍스트의 색상입니다. |
clrMediumOrchid |
InpFont |
숫자를 표시하는 데 사용되는 폰트 유형입니다. |
"Arial" |
InpFontSize |
폰트 크기입니다. |
8 |
Anchor |
텍스트 위치 조정을 위한 앵커 유형입니다 (중앙, 상단, 하단 등). |
ANCHOR_CENTER |
NumberFirstCandle |
카운트가 하루의 첫 번째 캔들에서 시작할지(true) 마지막에서 시작할지(false) 설정합니다. |
true |
SelectedWeek |
카운트할 주를 선택합니다 (0 = 모든 주). |
1 |
상세 기능
1. 주별 필터링
GetWeekOfMonth() 함수는 각 캔들의 주를 계산합니다.
if(SelectedWeek != 0 && currentWeek != SelectedWeek) 조건문을 통해 선택한 주의 캔들만 처리합니다.
2. 순차적 카운팅
일 변경 시 카운트가 재시작됩니다 (candleDay != previousDay).
NumberFirstCandle이 true일 경우, 하루의 첫 번째 캔들에서 카운트가 시작됩니다.
NumberFirstCandle이 false일 경우, 하루의 마지막 캔들부터 거꾸로 카운트합니다.
3. 텍스트 위치 조정
종가가 시가보다 낮으면 텍스트가 캔들 위에 위치합니다 (하락 캔들).
종가가 시가보다 높으면 텍스트가 캔들 아래에 위치합니다 (상승 캔들).
4. 차트 객체 생성 및 업데이트
CreateText() 함수는 차트에 객체를 생성하거나 업데이트합니다.
객체는 ObjectPrefix 접두사를 이용해 고유하게 이름이 지정되어 충돌을 방지합니다.
5. 자동 정리
DeleteObjects() 함수는 인디케이터가 제거되거나 재초기화될 때 생성된 모든 그래픽 객체를 제거합니다.
