最高和最低可见报价 - 页 4

 
用户使用графики с отступами от правого края. Сколько баров отображается на таком графике ? 一个纯粹的几何常数,与周期、历史、滚动和其他一切无关。
如果你想一想?
假设图表尽可能向右滚动,那么缩进是可见的,例如,图表上有100个柱子。
但如果我们将图表 向左滚动 缩进,它将显示100+适合缩进的条数。
 
假设图表尽可能向右滚动,那么缩进是可见的,例如,图表上有100个柱子。<br/ translate="no">但是如果我们把图表向左滚动缩进,就会有100+缩进所允许的条数。





,用手倒回图表是没有意义的。
哪些系统函数和库需要连接到
- 获取当前图表的垂直和水平尺寸,单位为像素;

1. GetClientRect from user32.dll


我在导入*.dll方面没有经验。我找到了关于GetClientRect的描述


GetClientRect函数检索窗口工作区域的坐标。工作坐标定义了工作区的左上角和右下角。由于工作坐标是相对于窗口工作区的左上角而言的,所以左上角的坐标是(0,0)。
语法
BOOL GetClientRect
(
HWND hWnd, // 窗口描述符
LPRECT lpRect // 工作坐标结构的地址
);
参数
hWnd
确定要返回工作坐标的窗口。
lpRect
表示接受工作坐标的RECT结构。左边和上面的元素是空的。右侧和底部元素包含了窗口的宽度和高度。
返回值
如果函数成功完成,返回值与零不同。如果函数失败,返回值为零。要获得扩展的错误数据,请调用GetLastError。


在其他资料中,这一功能被描述为无效。该相信什么?

有必要指定#import "user32.dll "来连接吗?

根据一些资料,RECT结构在winuser.h中描述,其他则在windef.h中。这些文件在我的机器上都不存在。

#include <winuser.h> 或 #include <windef.h> ?

hWnd窗口标识符应指定为什么?

如何从lpRect结构中获得所需的参数?MQL4不支持复杂的数据类型(结构)。


什么样的系统函数和库应该连接到

- 获得当前图表的最大和最小表观报价;

也许用适当的函数来补充MQL4语言是有意义的 ?





|------------------------------------------------| <-1.8595
|................................................| |................................................| |.............-- 高 ........................| |................................................| |................................................| |................................................| |................................................| |................................................| |................................................| |............................-- 低..........| |................................................| |................................................| ----
 
亲爱的开发者 !

请回答我的问题。
 
编程问题在专门的MQL4.COMmunity论坛上讨论。

网站上有许多文章和程序集。请不要犹豫,阅读它们。特别是,这里已经讨论了最小和最大报价的问题:"MQL4:拦截"

我引自
===
如果你知道窗口的像素大小,你可以很容易地使用BarsPerWindow和FirstVisibleBar函数。要计算酒吧的数量是没有问题的。
有了价格坐标,情况就更复杂了。如果刻度是自动的,我们可以通过在顶部和底部的最高和最低价格值之间增加5%的差异来计算。如果刻度是固定的,就无法计算,因为没有上限和下限的信息。
===
 
<br / translate="no"> 我引用一下
===
如果你知道窗口的大小,以像素为单位,那么你可以很容易地使用BarsPerWindow和FirstVisibleBar函数。弄清酒吧的编号是没有问题的。
有了价格坐标,情况就更复杂了。如果刻度是自动的,我们可以通过在顶部和底部的最高和最低价格值之间增加5%的差异来计算。如果刻度是固定的,就无法计算,因为没有上限和下限的信息。
===


真实例子:欧元兑美元,M1
高点 1.2613 最大可见值 1.2620 delta 0.0007
低点1.2602 最低点1.2600 delta 0.0002可见值

5%在哪里?

在MQL4.COM论坛中的GetClientRect搜索产生了2个参考。 没有具体的答案或建议。
 
<br/ translate="no">在MQL4.COMmunity论坛中搜索GetClientRect,给出了2个参考。没有具体的答案或建议。

所以你问了一个问题。我邀请你去一个专门的论坛,就是为了这个目的。此外,我引用了自己的话。"有了价格坐标,情况就更复杂了"。这意味着这个问题没有一个明确的答案。顺便说一下,5%不是价格,而是最高和


最低价格 之间的像素数。
 
目前只有最高价和最低价供用户使用。 根据上面的例子,文本对象只能显示在50%的图表区域。 这是否正常?
 
<br / translate="no"> 所以你问了一个问题。我邀请你去一个专门的论坛,就是为了这个目的。
此外,我引用了自己的话。"有了价格坐标,情况就更复杂了"。这意味着这个问题没有一个明确的答案。

顺便说一下,5%不是价格,而是最高和最低价格之间的像素数。


我听从了您的建议,在MQL4.COM论坛上发布了您的问题。 我得到的回应是零,没有回应也没有希望。 请帮助。
 
亲爱的开发者 !

请帮助我使用user32.dll中的GetClientRect函数来获取当前图表的垂直和水平尺寸,单位是像素。

该函数的描述在上面给出。

要连接它,指定#import "user32.dll"。

作为窗口hWnd的标识符,我们表示由函数WindowHandle(...)返回的值。

如果MQL4不支持复杂的数据类型(结构),如何从lpRect结构中获得所需的参数?
 
亲爱的开发者 !

一个多月以来,我一直在请求帮助解决我的问题,但没有成功。

有些帖子一两个小时后就有回复,有些则公然被忽略了很久。 为什么?