文章 "跨平台智能交易系统: 时间过滤器"

 

新文章 跨平台智能交易系统: 时间过滤器已发布:

本文探讨如何实现跨平台智能交易系统的各种时间过滤方法。时间过滤器类负责检查给定时间是否处于特定时间配置设置的范围内。

可在本文的底部 (tester_time_range.html) 找到启用时间范围过滤后运行智能交易系统的测试结果。在此测试当中, 时间范围从 2017 年开始, 到 2017 年 1 月 6 日的第一个星期五结束。所以, 智能交易系统在结束日期后不再有任何交易入场时, 我们可以知道过滤器已然工作。最后一笔交易的屏幕截图如下所示:

最后交易的时间日期

作者:Enrico Lambino

 

你好、

感谢您分享这个伟大的解决方案。

您能解释一下在发送订单时如何设置 SL/TP吗?这是我在 COrderManager::TradeOpen 中发现的:

ret=SendOrder(type,lotsize,price,0,0);

看起来 SL/TP 总是设置为 0,我该如何更改?是否必须使用其他方法来发送带有 SL 或 TP 的订单?

 

真是奇怪。发表了这么多文章,却没有一篇解释如何使用 SL 和 TP。如果我不知道如何为我的仓位设置止损,为什么还需要这些时间过滤器

在相应的文章发布之前,您能否至少分享一些代码来演示止损的用法?谢谢。

 

有什么方法可以获得交易/仓位的开放时间

 
嗨,mbjen、
mbjen:

你好、

感谢您分享了这一伟大的解决方案。

您能解释一下在发送订单时如何设置 SL/TP吗?这是我在 COrderManager::TradeOpen 中发现的:

看起来 SL/TP 总是设置为 0,我该如何更改?必须使用其他方法来发送带有 SL 或 TP 的订单吗?

mbjen:

这真的很奇怪。发表了这么多文章,却没有一篇解释如何使用 SL 和 TP。如果我不知道如何为我的仓位设置 SL,我为什么需要这些时间过滤器?

在相应的文章发布之前,能否请您至少分享一些代码来演示止损的用法?谢谢。

老实说,这并不容易实现。请参阅跨平台智能交易系统:止损


mbjen:

有什么方法可以获得交易/头寸的开仓时间

在 MQL5 中,您可以从 COrderInfo 或 CPositionInfo 获取,但这也取决于您使用的是净额结算还是对冲模式。例如,我可能弄错了,但据我所知,如果您在净额对冲模式下反转仓位,您仍然可以获得原始仓位的开仓时间,而不是您反转仓位的时间。因此,我认为跟踪产生头寸的订单要好得多。对于 MQL4 版本,我想您已经意识到了这一点。

 
Enrico Lambino:

在 MQL5 中,您可以从 COrderInfo 或 CPositionInfo 中获取,但这也取决于您使用的是净额结算还是对冲模式。例如,我可能弄错了,但据我所知,如果您在净额结算模式下反转仓位,您仍然可以获得原始仓位的开仓时间,而不是您反转仓位的时间。因此,我认为跟踪产生头寸的订单要好得多。对于 MQL4 版本,我想您已经意识到这一点了。


是的,我知道。但在这种情况下,MT4 和 MT5 版本的代码会有所不同...它不会完全跨平台。您打算为此实施任何解决方案吗?

会的。总之这不是什么大问题。我可以使用 #ifdef 命令来解决这个问题。

另外,请问如何添加时间过滤器,以便在周五 收盘前关闭所有交易?

我知道如何平仓。我不完全明白如何添加一个过滤器,包括时间范围过滤器和日过滤器?如何为一周中的特定日期添加不同的时间范围?

 

伟大的解决方案,我认为是最好的之一,也许有的人已经采取了这种类为基础,结构下自己更方便使用的形式,因为在这里它是内置到机器人和通过一堆链接等难以理解什么是附加到什么有。

如果有人有一个纯粹的类,没有机器人,分享。

 
MetaQuotes Software Corp.:

新文章:跨平台智能交易系统:时间过滤器》已发布:

作者: Enrico LambinoEnrico Lambino

感谢您的工作,让我受益匪浅。它为我节省了好几天的时间。请多多指教