기고글 토론 "MQL5 Coobook: 지표 하위 창 컨트롤 - 버튼" - 페이지 8

 
C-4:
MT5는 차트 프로퍼티를 비동기식으로 업데이트합니다. 즉, 프로퍼티를 설정했다고 해서 터미널이 즉시 프로퍼티를 가져온다는 의미는 아닙니다. ChartRedraw() 함수는 터미널에서 모든 프로퍼티를 다시 읽도록 하는 데 사용됩니다. 또한 ChartGet... ObjectGet 함수를 사용할 수도 있는데, 이 경우 속성도 다시 읽습니다.
이 정보는 어디에서도 찾을 수 없습니다. 나는 그것을 발견하고 해결책을 찾았으니 이제 알게 될 것입니다.
 
komposter:
이 정보는 어디서도 본 적이 없습니다. 우연히 발견하고 해결책을 찾았으니 이제 알 수 있겠네요.

그게 뭔가요? 여기 섹션의 시작 부분에 있습니다 차트로 작업하기:

차트 작업을 위한 함수입니다. 차트를 사용한 모든 작업은 전문가 조언자 및 스크립트에서만 적용 가능합니다.

차트의 속성을 설정하는 함수는 실제로 차트를 변경하는 명령을 보내는 데 사용됩니다. 이러한 함수가 성공적으로 실행되면 해당 명령은 차트의 일반 이벤트 대기열에 포함됩니다. 그래프 변경은 주어진 그래프의 이벤트 큐를 처리하는 동안 이루어집니다.

따라서 이러한 함수를 호출한 후 차트의 즉각적인 시각적 업데이트를 기대해서는 안 됩니다. 일반적으로 차트 업데이트는 새 호가 도착, 차트 창 크기 변경 등 변경 이벤트에 의해 터미널에서 자동으로 수행됩니다. 차트 모양을 강제로 업데이트하려면 ChartRedraw() 명령을 사용하여 차트를 다시 그립니다.

 
komposter:
이 정보는 어디서도 본 적이 없습니다. 우연히 발견하고 해결책을 찾았으니 이제 알게 될 것입니다.
물론이 정보는 어디에서도 사용할 수 없기 때문에 (위 참조 :)))). 저도 서비스 데스크에 문의 할 때까지이 문제로 고통 스러웠습니다. 거기에서 그들은 차트에있는 개체의 속성 변경이 비동기 적으로 발생한다고 말했습니다. 그리고 귀하의 예로 판단하면 차트 자체의 속성과 관련이 있습니다.
 
Rosh:

정확히 어떤 것일까요? 여기 차트를 사용한 작업 섹션의 시작 부분에 있습니다:

없는 게 아니라 못 봤을 뿐입니다(또는 잊어버렸을 뿐입니다). 고마워요.

마우스 이벤트 추적 플래그와 같은 차트 속성을 변경할 때 CHART_CHANGE 이벤트를 생성하는 것은 어떨까요? 그렇게 할 수 있을까요?

 
C-4:
물론이 정보는 어디에서도 사용할 수 없기 때문에 (위 참조 :)))). 저도 이 문제로 고민하다가 서비스 센터에 문의했습니다. 거기에서 그들은 차트에있는 개체의 속성 변경이 비동기 적으로 발생한다고 말했습니다. 그리고 귀하의 예로 판단하면 차트 자체의 속성과 관련이 있습니다.

섹션에서 자세히 알아보기 그래픽 개체:

지정된 차트와 관련된 그래픽 개체와 함께 작동하도록 설계된 함수 그룹입니다.

그래픽 객체의 속성을 지정하는 함수는 물론 차트에서 ObjectCreate() 객체를 생성하고 ObjectMove() 객체를 이동하는 작업은 실제로 차트에 명령을 보내는 데 사용됩니다. 이러한 함수가 성공적으로 실행되면 해당 명령은 차트의 일반 이벤트 대기열에 포함됩니다. 그래픽 개체의 속성에 대한 시각적 변경은 주어진 차트의 이벤트 대기열을 처리하는 동안 수행됩니다.

따라서 이러한 함수를 호출한 후 그래픽 객체의 즉각적인 시각적 업데이트를 기대해서는 안 됩니다. 일반적으로 차트의 그래픽 개체 업데이트는 새 시세 도착, 차트 창 크기 변경 등 변경 이벤트에 의해 터미널에서 자동으로 수행됩니다. 그래픽 개체를 강제로 업데이트하려면 차트를 다시 그리려면 ChartRedraw() 명령을 사용하세요.

 
Rosh:

그래픽 개체 섹션에서 자세히 알아보세요:

명확하고 익숙한 개체이지만 그래프 속성에서 뭔가 다른 것을 기대했습니다.

제 제안을 반복하지 말아야 할까요? 아니면 서비스 데스크에 넣어야 할까요?

 
훌륭한 글을 작성해 주신 저자에게 깊은 감사를 드립니다.
 
MetaQuotes Software Corp.:

새 문서 MQL5 규약 매뉴얼: 표시기 하위 창 컨트롤 - 버튼이 게시되었습니다:

저자: 아나톨리 카즈하르스크

아주 좋은 튜토리얼입니다. 이 부분에 대해 좀 더 게시해 주셨으면 좋겠어요, 감사합니다!

 

아나톨리,

MQL5 커뮤니티에 기여해 주셔서 감사하다는 말씀을 드리고 싶습니다. 귀하의 예제 덕분에 제 코드 개발이 몇 달 앞당겨졌습니다. 다시 한 번 감사드립니다.

저는 이 "인디케이터"를 매수 개시, 매도 개시, 모두 닫기 및 추적손절매 설정 버튼에 사용해야 합니다. 제 문제는 다음과 같이 할 수 있도록 EA와 상호 작용해야 한다는 것입니다.

1) EA 내에서 이러한 기능에 액세스하고

2) pSAR, CCI, MACD 또는 기타 지표가 트리거될 때 "오픈 롱" 버튼을 깜박임으로써 EA 추천을 받으려고 합니다.

그래서 질문이 있습니다: EA가 지표 버튼과 통신하고 지표 버튼이 EA와 인터페이스하도록하려면 어떻게해야합니까?

미리 감사드립니다,

CipherPips

 
CipherPips:

감사합니다!

이 버전이 더 마음에 드시는 것 같습니다: 그래픽 인터페이스 I: 라이브러리 구조 준비하기(1장)

이 시리즈는 계속 이어집니다. 자세한 예제가 많이 있을 것입니다.