보조지표 게시글

MetaTrader 5에서 새로운 바 이벤트 핸들러 활용하기

첨부파일
199.zip (2.92 KB, 다운로드 0회)

안녕하세요, 트레이더 여러분! 오늘은 MetaTrader 5에서 사용되는 새로운 바 이벤트 핸들러에 대해 이야기해볼까 합니다. 이 접근 방식에 대한 자세한 내용은 "새로운 바 이벤트 핸들러"라는 글에서 확인할 수 있습니다. 여기서는 이 핸들러를 이용한 지표의 구현 예시를 살펴보겠습니다. 이 접근법의 핵심은 새로운 바가 생성될 때만 재계산을 수행하도록 하는 것입니다. 즉, OnCalculate() 함수의 직접적인 사용 대신에 더욱 효율적으로 작업할 수 있다는 점이죠.

아래는 새로운 바가 생성될 때마다 선을 출력하는 간단한 지표 예제입니다:

//+------------------------------------------------------------------+
//|                                            OnNewBarCalculate.mq5 |
//|                                            Copyright 2010, Lizar |
//|                                                    Lizar@mail.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright 2010, Lizar"
#property link      "Lizar@mail.ru"
#property version   "1.00"
#property indicator_chart_window

#include <OnNewBarCalculate.mqh> // OnNewBarCalculate() 함수 호출의 비밀//+------------------------------------------------------------------+
//| 지표를 위한 새로운 바 이벤트 핸들러                          |
//+------------------------------------------------------------------+
int OnNewBarCalculate(const int rates_total,
                const int prev_calculated,
                const datetime& time[],
                const double& open[],
                const double& high[],
                const double& low[],
                const double& close[],
                const long& tick_volume[],
                const long& volume[],
                const int& spread[]) {

//--- 여기에 OnCalculate()와 비슷한 코드를 작성할 수 있습니다.
//--- 이 함수는 새로운 바가 나타날 때만 호출됩니다 (매 틱마다 호출되지 않음)

   PrintFormat("새로운 바: %s",TimeToString(TimeCurrent(),TIME_SECONDS));
//--- 다음 호출을 위한 prev_calculated의 반환 값
   return(rates_total);
  }

이 지표를 활용하면 보다 효율적으로 시장의 변화를 감지하고 분석할 수 있습니다. 여러분의 트레이딩 전략에 많은 도움이 되길 바랍니다!

연관 포스트

댓글 (0)