脚本: ThirdPartyTicks - 页 6

 
fxsaber:
在 Tester 中从自定义符号创建滤波模拟,以加快速度。

在 Tester 中速度真的很快。跳动次数减少了 10 倍。速度也相应提高

 
fxsaber:

另一个股票来源。

cTrade 是不错,但 InteractiveBrokers 如何?他们的数据价格是最便宜的。有这样的连接器吗?
 
Sergey Lebedev:
cTrade 是不错,但 InteractiveBrokers 如何?他们的数据价格是最便宜的。有这样的连接器吗?

没有。

 

下午好。

我正在重写脚本,用于在一家普通证券交易所(非外汇交易所)进行测试。除了为自己重写一些东西外,我还发现在文件 ticks.mqh 中,用于转换价格的函数StringToDouble 没有考虑到价格可能完全没有点的情况。我自己已经纠正了这个问题。不过,也许您也有兴趣知道这一点并自行纠正。

 
traveller00:

下午好。

我正在重写脚本,用于在一家普通证券交易所(非外汇交易所)进行测试。除了为自己重写一些东西外,我还发现在文件 ticks.mqh 中,用于转换价格的函数StringToDouble 没有考虑到价格可能完全没有点的情况。我自己已经纠正了这个问题。不过,也许您也有兴趣了解并自行纠正。

我很惊讶你能理解代码。感谢您的错误报告,我已经修正了它。

  return(point ? Res / TenPow[Pos - point] : Res);
 

是的,我几乎是用同样的方法为自己修改的。

也许这对你来说没什么用,但既然说到这个问题,我就写写我自己改过的几个特殊之处。这主要是指,如果开始对所有字符进行相当缓慢的处理,中途停止,然后继续。

1.在 CreateAllSymbols 函数中调用了 ThirdPartyTicks[i].ToCustomSymbol(Sync,...)。这将导致this.FilesOffline.Refresh() 在每个符号处抽动 这可能会很慢,尤其是在文件数以千计且总大小达数十 GB 的情况下。理想情况下,它会检查是否有新的文件上线,然后不再刷新每个符号。

2.在字符串 ToCustomSymbol 函数中,没有检查符号是否已经存在。老实说,我没有检查会发生什么,也没有深入研究细节。但我自己调整了检查方式,这样当我继续运行时,就不会再次解析所有文件以查找已存在的旧符号了。

附言:感谢您的文章和发布的众多工具,非常有用。

 
traveller00:

你确定不是从 ZIP 文件中获取的脚本?它根本不是最新版本。因为这个问题,经常会出现一些错误被修复了,但却没有被注意到的情况。

 
fxsaber:

你确定不是从 ZIP 文件中获取的脚本?

很久以前我也遇到过这个问题:)后来我发现不对劲,就用手逐个下载了所有文件。我本来也想写 ZIP 的,但忘了。所以在最新版本中应该可以正常工作。

 
traveller00:

1.在 CreateAllSymbols 函数中,调用了 ThirdPartyTicks[i].ToCustomSymbol(Sync,...)。这将导致this.FilesOffline.Refresh() 在每个符号处抽动 这可能会很慢,尤其是在文件数以千计且总大小达数十 GB 的情况下。理想情况下,它会检查是否有新的在线文件,然后不刷新每个字符。

很久以前我就发现过一次与此相关的延迟,因此我专门实施了一个解决该问题的方法。从那以后,就再也没有出现过延迟。


现在我有 18 GB 的存档和 > 35 000 个压缩包。一切都运行得很快,没有延迟。


也许你还没有完全理解它是如何工作的,所以才会提出这样的假设。