文章 "利用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 #:
是啊是啊,添加所有这些东西,连接起来,用铝线包起来,再用胶带粘起来。我们需要一个简单而正确的解决方案来解决整个图书馆的问题。如果没有这样的解决方案,那就必须重新设计图书馆。我可能会自己制作一个对话窗口。

这是 MetaTrader 平台的限制 - 一个指标只能出现在主窗口或子窗口中。

书中 有可能的解决方案和一个实施实例。

简而言之,您可以创建 2 个指标,其中一个指标将使用 ChartIndicatorAdd 创建另一个指标。它们可以通过事件、资源、缓冲区等交换数据。

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

这是 MetaTrader 平台的限制--一个指标只能出现在主窗口或子窗口中。

书中 提供了可能的解决方案和一个实施实例。

简而言之,您可以创建两个指标,其中一个指标将使用 ChartIndicatorAdd 创建另一个指标。它们可以通过事件、资源、缓冲区等交换数据。

如果这些是专家的话,那么这正是我想听到的。这意味着您需要创建自己的面板。

如果这只是猜测...那你就必须建立自己的面板。

我在等待提示,如果指标位于子窗口中,如何将面板粘贴到主窗口中。