MetaTrader 5测试器不能正确建立条形图
这是上一篇文章中的自定义符号(同样的数据)。 条形图是以最后价格绘制的,这在符号设置中被指定。
左边是测试器中绘制的条形图。在右边,你可以看到初始条形图。
你可以看到,这些图表并不完全重合。左边那个上面有一些狗屎。
S.w.以为它是由Bid建立的,但看看交易列表--事实证明,这种价格甚至不在Bid中,也不在Last或Ask中。我在下面附上文字形式的交易信息。
附加的文件:
deribit_csv.zip
735 kb
我通过投标建造酒吧。通过投标/询问来执行限制。一切工作(确切地说,是2093年,我没有进一步检查)都很正常。
Vasiliy Sokolov:
你所忽略的一个好的功能
MqlTick tiks[]; if (FileLoad("deribit1.out.bin", ticks)) { // ....
Slava:
1.你没有给出文件 "deribit1.out.bin"。在所附的档案 "deribit1.out "中。
2.你没有给自定义的角色设置
请原谅我。
附加的文件:
deribit1.out.zip
438 kb
fxsaber:
你所忽略的一个好的功能。
值得一提的是。
Vasiliy Sokolov:
请原谅我。
谢谢。(笑)。我们会处理好的。
MQ团队目前正在对MetaTrader 5策略测试器进行深入修订。尽管在过去两年里做了很多工作(感谢MetaQuotes团队),这个测试器还是提出了很多问题。不幸的是,最近的变化更多地集中在测试器的视觉外观上,这样初学者可以更容易地使用它,而它的工作机制仍然引起更有经验的用户的疑问。
我建议把这个主题专门用于对MetaTrader 5测试器的建设性批评,并把它变成一个你可以接触到开发人员的地方。
所有的声明/讨论/批评/反驳都应该有明确的论据和可重复的结果支持。讨论的重点应该是执行和定价机制。在真空中对装饰物、图标和球形马的欲望(我希望所有的核心都能加载,我希望单次运行有多线程,等等)是不受欢迎的,尽管没有禁止。
所以,我们走吧。
MetaTrader 5测试器跳过执行限价订单
1.在一个二进制文件(附在帖子后面)中,给出了作为数组MqlTisk的自定义ticks。
2.自定义数据由一个特殊的脚本处理,并将其加载到工具历史中。脚本也附在信息中。
3) 在产生的图表上启动一个专家顾问,并根据其逻辑进行交易。专家顾问在真正的ticks模式下工作。
4.在00:11:05:085的时刻,以10422.5的价格下了一个限价单。下单时刻的当前价格是10422.0。
5.在00:11:06.179的时候,最后价格发生在10424.0。根据交易所的定价规则,SellLimit订单应该在10422.5的价格执行,但这并没有发生。限价单似乎悬在空中,显示出完全的投降:交易发生时,别人提供的价格比我们的更差!"。
6.但奇迹开始展开。价格反转,从1024.0跌至10419。即限价单卖出水平从上到下穿透。然而,限价单也悬在空中。
不幸的是,我没有发现任何显示发生了什么的日志。有一种感觉是,测试员的日志被简单地关闭了,printf也不起作用。输出到测试器的日志被关闭。
总之,这似乎是另一个以前不存在的问题。
在这方面,我录制了一段视频,其中我可以清楚地看到发生了什么(最有趣的是从30秒左右开始的。在屏幕的顶部,当前时间精确到毫秒)。
视频清楚地显示,柱状图的范围穿透了限价单的水平,但没有执行。
还有其他问题需要测试者回答。但现在我认为有必要处理这个问题。