请给予更多的自由来管理图形窗口 - 页 6

 
barabashkakvn:
还有,如何使 "十字线 "在图表对象中发挥作用--我是说,当你在图表对象上十字线时,OHLC数据会显示在状态栏中?
还没有尝试过这样做。也许可以用这些函数:ChartXYToTimePrice()和ChartTimePriceToXY()。
 
tol64:
我还没有尝试这样做。也许可以用这些函数:ChartXYToTimePrice()和ChartTimePriceToXY()。
这是有可能的,似乎,只是没有进入状态线。我希望在图表对象上有一个完整的 "十字准线 "模仿,像在普通图表上一样工作--在状态栏中显示。
 
barabashkakvn:
这是有可能的,我想,除了没有进入状态栏的机会。我希望在图形对象上有一个完整的 "十字线 "模仿,这样它就能像一个正常的图形一样工作--在状态栏中显示。

那么图形对象就需要进一步发展。我赞成在图形化对象和图形化窗口方面有尽可能多的可能性。我认为没有理由反对,只是为了反对而反对。;)

一件好事是收集所有需要关于这个问题的一些或其他功能的案例,并在调查的第一篇文章中提出。民意调查的时间应该是无限的。否则,他们往往会沉沦下去,很少有人看到他们,因为也许他们并不经常看论坛。

 
我建议你现在就把所有你需要某种窗口或图表功能的情况放在这里。我们来讨论一下。我想我们可以做一个长篇的投票,然后我们可以把这整个主题移到投票中。
 

总之,这里有一个半替换的图形窗口控件。

 

当光标在普通图表上移动时,状态栏会显示OHLC值,但当光标在图表对象上移动时,OHLC值不会被转化到状态栏中。由于MQL不允许访问状态栏,我们需要为图表对象想出一个替换的状态栏。

到目前为止,我可以想到的是OBJ_LABEL文本标签。

 
barabashkakvn:

当光标在普通图表上移动时,状态栏会显示OHLC值,但当光标在图表对象上移动时,OHLC值不会被转化到状态栏中。由于MQL不允许访问状态栏,我们需要为图表对象想出一个替换的状态栏。

到目前为止,我想到的是OBJ_LABEL文本标签。

我们的技术支持人员回答说,不可能将OHLC值从OBJ_CHART对象栏传送到状态栏。因此,我们将不得不实现我们自己的状态栏。

它自己的状态栏

 

随着状态栏的放置(以OBJ_BITMAP_LABEL的形式),发生了一个错误:对象被渲染后,下面留下了一个一像素的栏。

OBJ_BITMAP_LABEL的设置。

x=0,                      // координата по оси X
y=0,                      // координата по оси Y
CORNER_LEFT_UPPER,        // угол графика для привязки
ANCHOR_LEFT_UPPER,        // способ привязки

即图形标签对象绘制在图表的底部,坐标中心在图表的左下角

事实上,在这些设置下,图形标签对象不是按(0;0)坐标绘制,而是按(0;1)坐标绘制。

下面是一张显示1像素条的图片。

OBJ_BITMAP_LABEL的渲染不正确

附加的文件:
 

一个 带有一个额外窗口的模板被应用 于图表对象,并且额外窗口的大小被调整。在关闭和打开终端后,图表对象将附加窗口的高度重置为零。这是否正常?


P.S. 我附上了一个测试脚本。

附加的文件:
test_script.mq5  13 kb
 
barabashkakvn:

一个 带有一个额外窗口的模板被应用 于图表对象,并且额外窗口的大小被调整。在关闭和打开终端后,图表对象将附加窗口的高度重置为零。这是否正常?

当终端关闭时,图形的状态被保存到chr文件中。 不是所有用于程序控制的图形对象的属性都被写入,这是正常的。