안녕하세요, 트레이더 여러분! 오늘은 새로운 캔들을 감지하는 방법에 대해 이야기해볼게요. 이전에는 시간을 기준으로 새로운 바를 감지했었는데, 이번에는 바 수를 이용해서 감지해보려고 해요. 이 방법이 시간 기반 방법보다 훨씬 가볍고 빠르답니다.
- 먼저, 정수형 데이터 타입으로 바 수를 저장할 변수를 선언합니다.
- 초기화할 때 BarsTotal_OnInt에 바 수를 할당합니다.
- 실시간 차트에서 바 수를 할당하기 위해 iBars(); 함수를 사용하여 BarsTotal_OnTick 변수에 바 수를 업데이트합니다. 이 변수는 매 틱마다 업데이트됩니다.
- 코드의 정확성을 확인하기 위해 코멘트와 알림을 사용합니다.

int BarsTotal_OnInt; int BarsTotal_OnTick; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { BarsTotal_OnInt = iBars(NULL,PERIOD_CURRENT); // 초기화 시 총 바 수 할당 return(INIT_SUCCEEDED); } void OnTick() // OnTick 함수 { BarsTotal_OnTick = iBars(NULL,PERIOD_CURRENT); // 최신 바 수 저장 if(BarsTotal_OnTick > BarsTotal_OnInt) // 새로운 바가 도착했을 때 { BarsTotal_OnInt = BarsTotal_OnTick; // 기록 업데이트 Alert("새로운 바가 도착했습니다"); Comment("기록의 바 수 -: ", BarsTotal_OnInt, "\n", "실시간 바 수 -: ", BarsTotal_OnTick); // 여기에 코드를 추가하세요. -------------------------- // 나중에 사용할 플래그/변수를 업데이트할 수 있습니다. } }