我怎样才能得到100毫秒的图表? - 页 4

 
我个人确信,不设勾股图的决定 纯粹 是一个 设计决定,因为它与平台的整体设计是一致的 。从工程角度看,在实际下单时,平台无法提供时间尺度的图表是没有意义的。我自己也会这样做的。声称经纪商 "希望 "MT4不包含这一功能是没有意义的,因为这一功能根本没有用。他们不会在意的。
 
SDC:

换句话说,它没有使用tcp/ip协议进行价格反馈连接。[...] 与经纪人的价格反馈连接类似于或实际上是UDP类型的连接。

Tcpview 似乎表明,从MT4到经纪商的连接是TCP,而不是UDP。

Ais

关于Windows和MetaTrader的系统时间精度的有用信息[...] 。

我想你指的是GetTickCount()等东西。2000年以后的所有版本的Windows也都提供了一个高频系统定时器。见http://msdn.microsoft.com/en-us/library/ms644904(VS.85).aspx 等。GetTickCount()的典型16ms粒度与绘制100ms图表的能力没有关系,特别是因为这样的图表几乎肯定是基于经纪人的时间戳而不是本地计算机时间绘制的。如果MT4的时间戳有毫秒级的精度,但它并没有。

戈登

就我个人而言,我确信不设勾股图的决定是一个 纯粹的设计决定[...]

无疑是这样。部分原因是MT4平台对 "刻度 "的定义有点不寻常,而且根据你连接的经纪商不同,导致 "刻度 "的数量也不同。

 

1.没错,我指的是 "GetTickCount()",这在MetaTrader4中使用。
2.2.使用 "QueryPerformanceCounter "和 "QueryPerformanceFrequency "进行高精度计时看起来很天真,因为这些函数 是基于CPU的时钟速度的。
我们都知道,CPU的时钟速度并不稳定,在运行中可能会被系统切换。

 
Ais:

2.使用 "QueryPerformanceCounter & QueryPerformanceFrequency "进行高精度计时,看起来很天真[...] 。

它没有使用GetTickCount() 那么天真,而且它还是不相关的,因为MT4的所有图表都是基于经纪人的时间戳绘制的,而不是本地时钟。
 
Ais:

[...]因为这些功能是基于CPU的时钟速度。

Raymond Chen声称这不是真的,除非BIOS或HAL有问题,否则该功能不应该对时钟速度的变化敏感:http://blogs.msdn.com/b/oldnewthing/archive/2008/09/08/8931563.aspx?PageIndex=2。 而Raymond Chen对于低级别的Windows事务通常是正确的。
 

3.我们不需要同步时间戳来获得人造的100毫秒图表。

4.4.MT4有能力达到1ms的精度,因为我们可以对PIC进行重新编程。

 

http://blogs.msdn.com/b/oldnewthing/archive/2008/09/08/8931563.aspx?PageIndex=2

"

Carsten Orthbandt

2008年9月9日 1:03 AM

大多数时候提到QPC,都会遗漏一件非常非常重要的事情。

事实上,QPC是非常不可靠的。根据实际的硬件和CPU负载,QPC会随机地来回跳动几秒钟(根据我的经验,通常是4秒钟)。

你可以通过跟踪壁钟时间来解决这个问题,并试图检测这些跳跃。

"

 
Ais:

Carsten Orthbandt[...] 。

就个人而言,我将相信为微软工作的雷蒙德-陈,而不是我从未听说过的、不为微软工作、不知道也没有与编写Windows操作系统相关部分的人交谈过的其他人。你的意见可能不同。
 

处理器不是由微软制造的。

 
Ais:

处理器不是由微软制造的。

他们不是吗?哇!我从来不知道。我从来不知道。谢谢你。