기고글 토론 "MQL5 Coobook: 일반적인 차트 이벤트 처리"

 

새로운 기고글 MQL5 Coobook: 일반적인 차트 이벤트 처리 가 게재되었습니다:

이 문서에서는 일반적인 차트 이벤트를 고려하고 처리 예를 포함합니다. 우리는 차트 수정 이벤트에 대해서 뿐 아니라 마우스 이벤트, 키 입력, 그래픽 개체 생성/수정/제거, 차트 및 그래픽 개체에 대한 마우스 클릭, 마우스로 그래픽 개체 이동, 텍스트 필드의 텍스트 편집 완료에 중점을 둘 것입니다. 고려되는 각 이벤트 유형에 대해 MQL5 프로그램 샘플이 제공됩니다.

이 유형의 이벤트는 CHART_EVENT_MOUSE_MOVE 속성이 차트에 지정된 경우에만 처리됩니다. 이러한 이유로 EA의 초기화 블록에는 다음과 같은 문자열이 포함됩니다.

//--- mouse move
bool is_mouse=false;
if(InpIsEventMouseMove)
   is_mouse=true;
ChartSetInteger(0,CHART_EVENT_MOUSE_MOVE,is_mouse);

참고로 마우스를 사용하다보면 자연스럽게 마우스 이벤트가 자주 발생하게 됩니다. 이러한 이유로 이 이벤트의 처리를 비활성화할 수 있는 기회가 유용할 수 있습니다. 핸들러의 lparamdparam 매개변수는 그에 따라 좌표 X와 Y를 보고합니다.

우리는 만들어진 예를 논의할 것입니다. 오른쪽 경계에서 제로 바 이동이 있다고 가정해 보겠습니다. 시프트에서 오른쪽에 있는 화면 부분에 커서를 가져가면 매수 또는 매도를 제안하는 창이 나타납니다.

그러기 위해서는 먼저 시프트를 결정해야 합니다. 우리는 퍼센트 단위로 오른쪽 경계에서 제로 바 이동의 크기를 결정하기 위한 입력 변수를 도입할 것입니다(InpChartShiftSize).

그림 1 거래 작업 창

그림 1 거래 작업 창

작성자: Denis Kirichenko

사유: