기고글 토론 "MQL5에서 자신 만의 그래픽 패널 만들기" - 페이지 4

 

표시기에는 이 속성이 있습니다:

#property indicator_separate_window

이 속성은 인디케이터가 하단에 있어야 합니다. 음, 네, 명확합니다.

기본 창에도 "대화 표시줄"이 있어야 합니다....

그리고 그게 다입니다. 이 속성으로 인해 어떤 작업을 수행하든, 어떤 속성을 정의하든 대화 표시줄은 표시기의 하위 창에 있습니다. 그리고 메인 창에는 절대 표시되지 않습니다.

표준 라이브러리를 이해하려고 사흘을 보냈습니다. 어떻게 그런 누락을 만들 수 있었는지 여전히 이해가 되지 않습니까?

제가 틀렸다면 제가 어디를 잘못하고 있는지 알려주세요. 제발 창 및 하위 창 속성에 0을 지정해야 한다고 쓰지 마세요.

그 동안 제대로 작동하는 패널을 직접 만들어 보겠습니다.

 
Evgeniy Scherbina 표준 라이브러리를 이해하려고 사흘을 보냈습니다. 어떻게 그런 누락을 만들 수 있었는지 아직도 이해가 되지 않아요.

제가 틀렸다면 제가 어디를 잘못하고 있는지 알려주세요. 제발 창 및 하위 창 속성에 0을 지정해야 한다고 쓰지 마세요.

그 동안 제대로 작동하는 패널을 직접 만들어 보겠습니다.

코드를 훑어보고, 하위 창 번호를 정의하는 m_subwin 옵션을 추가하고, 하위 창 "만들기/삭제" 이벤트를 가로채서 전체 대화 상자에서 0이 아닌 경우 이 경우를 수정하고, ObjectCreate(...)가 사용되는 곳에 이 m_subwin을 사용합니다.

를 사용하면 모든 창과 하위 창에서 패널과 요소를 만들 수 있습니다.

 
Maxim Kuznetsov #:

코드를 훑어보고, 하위 창 번호를 정의하는 m_subwin 옵션을 추가하고, 하위 창 "생성/삭제" 이벤트를 가로채서 전체 대화 상자에서 0이 아닌 경우 이 경우를 수정하고, ObjectCreate(...)가 사용되는 곳에 이 m_subwin을 사용합니다.

그러면 모든 창과 하위 창에서 패널과 요소를 만들 수 있습니다.

예, 예, 이것은 모두 알루미늄 와이어와 테이프로 추가, 부착, 감싸는 것입니다. 이 모든 라이브러리에 대한 간단하고 올바른 솔루션이 필요합니다. 그러한 솔루션이 없으면 라이브러리를 다시 디자인해야합니다. 대화 상자는 제가 직접 만들어야 할 것 같습니다.
 
Evgeniy Scherbina #:
네, 이 모든 것을 추가하고, 부착하고, 알루미늄 와이어로 감싸고 테이프로 묶으면 되죠. 이 라이브러리 전체를 위한 간단하고 올바른 솔루션이 필요합니다. 그런 해결책이 없다면 라이브러리를 다시 디자인해야 합니다. 아마 저만의 대화 창을 만들 것입니다.

이것은 메타 트레이더 플랫폼의 한계입니다. 하나의 지표는 기본 창에만 있거나 하위 창에만있을 수 있습니다.

가능한 해결책과 한 가지 구현의 예가 책에 나와 있습니다.

간단히 말해서 두 개의 인디케이터를 만들고 하나는 차트 인디케이터 추가를 사용하여 다른 인디케이터를 만듭니다. 이벤트, 리소스, 버퍼 등을 통해 데이터를 교환할 수 있습니다.

Учебник по MQL5: Создание прикладных программ / Использование готовых индикаторов из MQL-программ / Комбинирование вывода в главное окно и вспомогательное
Учебник по MQL5: Создание прикладных программ / Использование готовых индикаторов из MQL-программ / Комбинирование вывода в главное окно и вспомогательное
  • www.mql5.com
Создание прикладных программ - Программирование на MQL5 для трейдеров - Учебник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Stanislav Korotky #:

이는 메타트레이더 플랫폼의 한계로, 하나의 보조지표는 메인 창에만 표시되거나 하위 창에만 표시될 수 있습니다.

가능한 해결책과 한 가지 구현의 예가 책에 나와 있습니다.

간단히 말해서 두 개의 인디케이터를 만들고 하나는 ChartIndicatorAdd를 사용하여 다른 인디케이터를 만듭니다. 이벤트, 리소스, 버퍼 등을 통해 데이터를 교환할 수 있습니다.

이것이 전문가의 말이라면 이것이 바로 제가 듣고 싶었던 것입니다. 그리고 그것은 자신 만의 패널을 만들어야한다는 것을 의미합니다.

그게 그냥 추측이라면... 직접 패널을 만들어야 합니다.

표시기가 하위 창에있는 경우 기본 창에 패널을 붙이는 방법에 대한 힌트를 기다리고 있습니다.