所有行业的表。通过MQL5访问 - 页 3

 
prostotrader:

有谁知道这个错误是什么吗?

该指标工作正常,但显示的条数更多。

比它所设定的要好。

我没有看代码,但我猜想在每个新条形图之后,它没有考虑到指标线 也自动向左移动的事实(如果你看图表)。换句话说,有必要将指标线向右移动(看图表时)。
 
Karputov Vladimir:
我没有看代码,但我猜想在每个新条形图出现后,它没有考虑到指标线 也自动向左移动的事实(如果你看图表)。换句话说,当一个新的条形图出现时,将指标线向右移动(在看图表时)。
谢谢你,我已经找到了这个错误。
附加的文件:
DealsLent.mq5  10 kb
 
prostotrader:
最后的润色...

结果不是最后一个....

需要更多的优化。

我将完成它并测试它...

 
如果是这种情况,请保留tick指标--开仓指标(在连接到交易所的真实账户上运行)。
附加的文件:
 
Karputov Vladimir:
如果是这种情况,请保留tick指标--开仓指标(在连接到交易所的真实账户上运行)。
我很高兴听到这个消息。
 

已经发现了一个严重的问题。

不同开始时间的重复刻度 :(

int copied=CopyTicks(Symbol(),ticks,COPY_TICKS_ALL,start_time,0);

start_time是不同的,而且ticks是重复复制的,如果

他们有相同的时间

我明天会详细描述它。

最新构建

附加的文件:
DealsLent.mq5  12 kb
 

睡不着,所以我想我要把发生的事情写下来。

(完整的指标代码在上面的帖子中)。

来自交易所的Ticks并不严格按照时间间隔来到终端。

但在块中(见截图),块1,块2等。

终端 "存储 "并在表格中显示它们,因为它从交易所接收它们(逐块)。

这两个 区块中,可以有相同 时间的交易。

如果我们 实时地调用CopyTicks()(比如第二天或几秒钟)。

那么CopyTicks()函数将返回准确的 数据。

但在实时 情况下,会发生以下情况。

int copied=CopyTicks(Symbol(),ticks,COPY_TICKS_ALL,start_time,0);

如果start_time = (23:49:58.114),我们完全可以得到块1(用红色圈出)。

然后,我们等待时间变化,以获得第2块(绿色圈出)。

为了避免与第1块重复(OnBookEvent可以非常快地触发)

我们引入一个检查,以确保时间已经改变。

if(start_time==ulong(ticks[copied-1].time_msc)) return;

当start_time = (23:49:58.596)时,我们应该得到块2。

但CopyTicks()函数同时返回块2和所有 带时间的ticks(23:49:58.114)。

如果 区块2至少有一个时间相同的勾选(23:49:58.114)。

这是一个非常悲伤的消息....:(

除非开发商解决这个问题,否则不可能 得到实时交易的磁带。


 
prostotrader:


还有,为什么你认为当你按时间查询时,蜱虫会从特定的时间和FUTURE下载到历史?事实上,当按时间请求刻度线时,刻度线是从一个给定的时间下载到未来的。比如说。

输入数据(要求20000点),时间2016.08.25 20-00-00

要求20,000点,时间2016.08.25 20-00-00。


接收。

2016.08.26 07:22:06.852 CopyTicks_1_02 (SBRF-9.16,M1)   Получено тиков: 10823 код ошибки: 0
2016.08.26 07:22:06.852 CopyTicks_1_02 (SBRF-9.16,M1)   Тик: 2016.08.25 20:00:00 bid: 14377.0 ask: 0.0 last: 0.0 [0]
2016.08.26 07:22:06.852 CopyTicks_1_02 (SBRF-9.16,M1)   Тик: 2016.08.26 00:02:08 bid: 0.0 ask: 0.0 last: 0.0 [10822]
2016.08.26 07:22:06.852 CopyTicks_1_02 (SBRF-9.16,M1)   Size 0 Mb

也就是说,从要求的时间2016.08.25 20:00:00 向未来(最后一个tick的时间是2016.08.26 00:02:08)接收ticks。

附加的文件:
 
Karputov Vladimir:

还有,为什么你认为在按时间查询时,蜱虫会从给定的时间和FUTURE下载到历史上?事实上,当按时间请求刻度线时,刻度线是从一个给定的时间下载到未来的。比如说。

输入数据(要求20000点),时间2016.08.25 20-00-00



接收。

也就是说,从要求的时间2016.08.25 20:00:00 向FUTURE(最后一个tick的时间是2016.08.26 00:02:08)接收ticks。

我没有深入思考,我看到的是从深度上 "粘 "出来的。

为什么要思考?

运行指标,自己看看吧!

而且你甚至读过所写的东西吗?

Если мы вызываем CopyTicks() НЕ в реальном времени (скажкем, на следующий день),

то функция CopyTicks() будет возвращать точные данные.
 
我是在很偶然的情况下注意到的,当时在晚上,交易比较少。
原因: