MetaTrader5
다이버전스 오실레이터: 메타트레이더 5에서 활용하는 매매 지표
안녕하세요, 트레이더 여러분! 오늘은 메타트레이더 5에서 사용할 수 있는 다이버전스 오실레이터에 대해 이야기해보려고 해요. 이 커스텀 지표는 가격 움직임과 오실레이터 사이의 다이버전스를 감지하고 시각화하는 데 도움을 줍니다. 다이버전스는 가격과 오실레이터의 움직임이 일치하지 않을 때 발생하며, 이는 종종 시장의 반전이나 지속을 알리는 신호로 해석될 수 있어요. 이 지표는 매수/매도 신호, 오실레이터의 히스토그램, 그리고 다이버전스를 강조하기 위한 추세선을 표시합니다. 지표의 주요 특징: 다이버전스 감지: 강세 다이버전스: 가격이 낮은 저점을 형성하는데 반해 오실레이터는 높은 저점을 형성합니다. 약세 다이버전스: 가격이 높은 고점을 형성하는데 반해 오실레이터는 낮은 고점을 형성합니다. 시각화: 매수/매도 화살표: 차트에 화살표를 그려 다이버전스에 기반한 매수 또는 매도 신호를 나타냅니다. 히스토그램: 오실레이터 값을 히스토그램으로 표시합니다. 추세선: 가격과 오실레이터 간의 다이버전스를 강조하기 위해 차트에 추세선을 그립니다. 커스텀 버퍼: 데이터를 저장하기 위해 네 개의 버퍼를 사용합니다: 매수/매도 신호를 위한 BuyBuffer와 SellBuffer. 오실레이터 값을 위한 HistogramBuffer. 다이버전스 확인을 위한 PointsCounterBuffer. 동적 추세선 그리기: CChartObjectTrend를 사용하여 가격과 오실레이터에 대한 추세선을 동적으로 차트에 그립니다. 교차 확인: 가격 또는 오실레이터가 추세선을 넘는지 확인하는 CheckCrossing 함수를 포함하여 다이버전스를 확인하거나 무효화하는 데 도움을 줍니다. 보간법: 두 점 사이의 중간 값을 계산하기 위해 선형 보간법 (CalculateIntermediateValue)을 사용하여 교차 확인에 활용합니다. 작동 방식: 초기화: OnInit() 함수는 지표의 버퍼를 설정하고, 속성(예: 색상, 스타일)을 할당하며, 오실레이터 핸들을 초기화합니다. 주요 계산: OnCalculate() 함수는 가격과 오실레이터 데이터를 처리하여 다이버전스를 감지합니다: 가격과 오실레이터에서 저점 (낮은 저점) 및 고점 (높은 고점)을 식별합니다. 가격과 오실레이터의 추세를 비교하여 다이버전스를 확인합니다. 다이버전스가 확인될 경우 매수/매도 신호를 표시하고 추세선을 그립니다. 다이버전스 확인: IsBullishTrend 및 IsBearishTrend와 같은 조건을 사용하여 다이버전스를 확인합니다. 가격과 오실레이터의 추세선 사이에 교차가 발생하지 않도록 하여 다이버전스를 검증합니다. 동적 업데이트: 지표는 새로운 바가 추가될 때마다 동적으로 업데이트되며, 필요에 따라 다이버전스를 재계산하고 추세선을 다시 그립니다. 주요 함수: IsBottom() 및 IsTop(): 배열에서 로컬 최소값(저점)과 최대값(고점)을 감지합니다. CheckCrossing(): 가격 또는 오실레이터가 추세선을 넘는지 확인하여 다이버전스를 무효화할 수 있습니다. CalculateIntermediateValue(): 추세선 분석을 위해 선형 보간법을 사용하여 중간 값을 계산합니다. AddUniqueCoordinates(): 추세선 그리기를 위한 배열에 고유한 좌표가 추가되도록 합니다. TotalAligned(): 다이버전스의 강도를 확인하기 위해 정렬된 점의 수를 센다. 사용 방법: 이 지표는 다이버전스 전략을 사용하는 트레이더에게 유용하여 시장의 잠재적인 반전이나 지속을 파악하는 데 도움을 줍니다. 화살표, 추세선, 히스토그램과 같은 시각적 신호를 제공하여 트레이더가 정보를 바탕으로 의사 결정을 할 수 있도록 돕습니다. 예시 시나리오: 가격이 낮은 저점을 형성하고 (약세), 오실레이터가 높은 저점을 형성하는 경우, 강세 다이버전스가 감지됩니다. 이때 지표는 매수 화살표를 표시하고 다이버전스를 강조하기 위해 추세선을 그립니다. 반대로, 가격이 높은 고점을 형성하고 (강세), 오실레이터가 낮은 고점을 형성하는 경우, 약세 다이버전스가 감지됩니다. 이때 지표는 매도 화살표를 표시하고 추세선을 그립니다. 기술적 세부 사항: 플랫폼: 메타트레이더 5 (MT5). 언어: MQL5. 종속성: 계산을 위해 오실레이터(iAO)를 사용합니다. 커스텀 객체: 추세선 그리기를 위해 CChartObjectTrend와 좌표 배열 관리를 위해 CArrayInt를 활용합니다. 이 지표는 다이버전스 감지 및 시각화를 자동화하여 트레이딩 전략의 정확성을 높이고 시간을 절약할 수 있는 강력한 도구입니다.
2025.06.11