文章 "MetaTrader 5终端策略测试器中的订单生成算法" - 页 20 1...131415161718192021 新评论 unreal 2013.09.12 14:44 #191 稍后,我将以可视化形式发布 Dukascopy、alpari 和 GKFX 的刻度。 Mykola Demko 2013.09.12 14:48 #192 交易、自动交易系统和交易策略测试论坛 MetaTrader 4 IDE 测试版包括新的 MQL4 编译器和编辑器 Urain, 2013.09.12 13:18 您天真地认为,在较高的 TF 上进行交易就可以摆脱生成错误刻度线的诅咒,但事实并非如此。接近某一水平的交叉并不取决于 TF。它贯穿于所有时间框架。在 W1 上,收盘价与 M1 相同。这里有一个例子:水平部分是开仓/平仓的最佳点(就执行而言),价格站稳,市场上有足够的成交量,市场在逐渐回升(这就是价格站稳的原因),获得重新报价的风险很小。但测试仪会将这部分生成为一个刻度线梳子(向上向下),因此在现实生活中,您会很有信心地在任何 TF 上开仓(如果有信号,例如收盘价越过指标线),但在测试仪中,在这些部分您会得到很多假阳性,并支付 8 个点差,然后再过 100 个刻度线,您将再支付 8 个点差。这就是假 ticks 的产生将如何扼杀一个正常的 TS,而所有垃圾都将留下,优化器将不得不选择给您什么作为获胜的猴子。顺便说一句,现实生活中有很多这样的网站。 关于交易、自动交易系统和测试交易策略的论坛。 MetaTrader 4 IDE 测试版,包括新的 MQL4 编译器和编辑器。 Urain, 2013.09.12 14:13 有刻度。在现实生活中,ticks 是由堆栈状态变化事件产生的。也就是说,有四种类型的 ticks:出价发生变化、要价发生变化、出价和要价都发生变化,最后是价格没有变化但堆栈中的交易量发生变化。只有第四种类型的刻度线是直线,而测试仪生成的刻度线和卖出价的变化是不充分的。对于上一个帖子:...这就是虚假勾股如何扼杀正常 TS 的,所有垃圾都将留下,优化器将不得不从中选择给你什么作为获胜的猴子。猴子究竟是如何出人头地的......在现实生活中,猴子会急剧跳升,但这是不可能的;而在测试器中,价格会平稳上升,但这是不存在的;在这样的上升过程中,测试器中的猴子会显示出利润,尽管它们在现实生活中会亏损。 交易、自动交易系统和交易策略测试论坛。 MetaTrader 4 IDE 测试版,包括新的 MQL4 编译器和编辑器。 Urain, 2013.09.12 14:21 我不是要求举例说明,当您编写程序时,您会考虑可能的变体。现在的问题是在特定情况下建模是否充分。我给了一个例子的链接,但这种情况很可能发生在任何经纪商的任何工具上。ZY 在 4 种导致生成跳动点的情况中,有 2 种处理不当。在其余两种情况中,两种价格(买入价和卖出价)都发生变化的情况并不总是能得到正确处理。例如,价格急剧变化的情况会导致出现虚假价格。总之,只有一种情况总是能得到正确处理,即出价变化。ntchk unreal 2013.09.21 10:13 #193 略微调整了文章中记录测试仪刻度的智能交易系统。//+------------------------------------------------------------------+ //|Write_Ticks_mod.mq5 //| 2010 年 MetaQuotes 软件公司版权所有。 //|https://www.mql5.com || //+------------------------------------------------------------------+ input datetime start = D'2013.09.06 14:29:00'; input datetime end = D'2013.09.06 14:31:00'; //+------------------------------------------------------------------+ //| 专家勾选功能| //+------------------------------------------------------------------+ void OnTick() { MqlTick tick; datetime time=TimeCurrent(); //--- SymbolInfoTick(Symbol(),tick); //Print(time,tick.bid); Print(time,", ",tick.bid,", ",tick.ask); // 增加询问 //--- if(time>end) ExpertRemove(); //--- }http://www.gkfx.ru/trade_specs/tick_history.htmlhttp://www.dukascopy.com/swiss/russian/marketwatch/historical/https://www.alpari.ru/ru/login/(我个人橱柜中的刻度),http://ticks.alpari.org/预告片中的所有文件 + xlsx 附加的文件: x1v2_lrp_mvd7qe50z_EURUSD_2013-09-06_15-30.zip 316 kb unreal 2013.09.21 12:21 #194 Свеча в 14:30 (время в MetaTrader 5) объёмом в 39 тиков, в альпари она равна 86 на ECN и 136 тиков на стандарт, 但这绝对不重要(刻度线的数量),因为刻度线的生成原理是一样的,只是刻度线会更密集。在 MetaTrader 5 测试仪中,您可以看到这根蜡烛上的价格在36 秒内单调、均匀、无抖动地上升到最高点, 然后出现小幅回调。而在期货(股票跳动)上,您可以看到价格在几分之一秒内急剧跳动,然后开始正常交易。 对于其他报价急剧跳动的新闻/统计数据,原理也是一样的。https://www.mql5.com/ru/forum/1031/page19#comment_597854真实外汇交易和期货交易的点差很小,因为它们之间存在套利,而且外汇交易的点差会被过滤和汇总。+ 在进行真实交易时,执行订单的延迟是不同的,因为在一些期货经纪公司,所有订单都存储在交易所内,并在几微秒内执行,这与外汇交易不同。 https://www.mql5.com/ru/forum/10454/page88#comment_584876这也是为什么任意延迟(测试器中的选项)不相关的原因,因为在生成测试器刻度线时,M1 蜡烛图内形成高点、低点或回撤的确切时间(毫秒、秒)并未考虑在内。或者它(任意延迟)应手动设置为 1 分钟以上,但没有这种可能性(在其他情况下,准确性也会降低)。 Обсуждение статьи "Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5" www.mql5.com Обсуждение статьи "Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5". Kun Li 2013.10.05 13:14 #195 MetaQuotes:新文章MetaTrader 5 终端策略测试仪中的刻度线生成算法 已发布:作者:MetaQuotes Software Corp:MetaQuotes Software Corp. 您能给我们一个关于"点数生成算法"的代码示例吗?我 对这个 算法 非常好奇 , 如何计算 "点数生成算法 "生成的每个 "点数 "对应的时间?谢谢 ugo 2014.02.04 14:16 #196 大家好,我想我需要一些帮助。 我有一个用于微剥头皮的指标。它在 Tester M1 时间框架上给出了非常好的结果 - 每个刻度线,但当它上线时,结果却很差!,在我对着墙敲了好几天之后,我得出结论,这种差异是由于这种"刻度线生成算法"造成 的。,有什么建议吗? 谢谢您的帮助。 ugo Alain Verleyen 2014.02.04 14:45 #197 ugo: 大家好,我想我需要一些帮助。 我有一个用于微剥头皮的指标。它在 Tester M1 时间框架上给出了非常好的结果 - 每个刻度线 ,但当它上线时,结果却很差! ,在我对着墙敲了好几天之后,我得出结论,这种差异是由于这种"刻度线生成算法"造成 的。 ,有什么建议吗? 谢谢您的帮助。 ugo 缩放器(依赖于刻度线数据)可能无法使用策略测试器进行测试。 Uwe Goetzke 2014.02.05 16:39 #198 angevoyageur: 缩放器(依赖于刻度线数据)可能无法使用策略测试器进行测试。如果不使用任何附加指标,可以从保存的历史条形图中捕捉自动生成的刻度线,将其丢弃,然后从以前保存的刻度线中插入同一分钟的刻度线。保存到磁盘的二进制刻度线对于一种货币一周的时间大约需要 50 MB,因此我认为只有较小的时间段是可以测试的(如果您必须保存自己的刻度线数据,而不能从其他来源获取刻度线数据的话)。但这可能足以验证您的算法。祝你好运,ugo58 ugo 2014.02.05 20:45 #199 ugo58:如果您不使用任何附加指标,您可以从保存的历史条形图中捕捉自动生成的刻度线,将其丢弃,然后从以前保存的刻度线数据中插入同一分钟的刻度线。保存到磁盘的二进制刻度线对于一种货币一周的刻度线大约需要 50 MB,因此我认为只有小周期的刻度线是可以测试的(如果您必须保存自己的刻度线数据,而不能从其他来源获取刻度线数据的话)。但这可能足以验证您的算法。祝你好运,ugo58嗨,谢谢大家!我不太明白:"......插入同一分钟的刻度"。您是指手动查看相同开盘和收盘时间的真实刻度值,还是有办法从磁盘保存的历史记录中运行策略测试器?我从angevoyageur 那里得知这是不可能的。乌戈 Uwe Goetzke 2014.02.05 23:03 #200 是的,MQL5策略测试仪 不允许使用与经纪商提供的价格不同的历史记录。但是,如果您编写自己的 EA,只要您不需要任何预制指标,就可以处理这个问题。 据我所知,使用新的 MQL4,您可以编写与 MQL5 相同的代码。如果您考虑到订单处理的不同方式,您可以使用您提供的历史记录测试您的 EA。ugo58 1...131415161718192021 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
交易、自动交易系统和交易策略测试论坛
MetaTrader 4 IDE 测试版包括新的 MQL4 编译器和编辑器
Urain, 2013.09.12 13:18
您天真地认为,在较高的 TF 上进行交易就可以摆脱生成错误刻度线的诅咒,但事实并非如此。接近某一水平的交叉并不取决于 TF。它贯穿于所有时间框架。在 W1 上,收盘价与 M1 相同。
这里有一个例子:
水平部分是开仓/平仓的最佳点(就执行而言),价格站稳,市场上有足够的成交量,市场在逐渐回升(这就是价格站稳的原因),获得重新报价的风险很小。
但测试仪会将这部分生成为一个刻度线梳子(向上向下),因此在现实生活中,您会很有信心地在任何 TF 上开仓(如果有信号,例如收盘价越过指标线),但在测试仪中,在这些部分您会得到很多假阳性,并支付 8 个点差,然后再过 100 个刻度线,您将再支付 8 个点差。这就是假 ticks 的产生将如何扼杀一个正常的 TS,而所有垃圾都将留下,优化器将不得不选择给您什么作为获胜的猴子。
顺便说一句,现实生活中有很多这样的网站。
关于交易、自动交易系统和测试交易策略的论坛。
MetaTrader 4 IDE 测试版,包括新的 MQL4 编译器和编辑器。
Urain, 2013.09.12 14:13
有刻度。在现实生活中,ticks 是由堆栈状态变化事件产生的。
也就是说,有四种类型的 ticks:出价发生变化、要价发生变化、出价和要价都发生变化,最后是价格没有变化但堆栈中的交易量发生变化。
只有第四种类型的刻度线是直线,而测试仪生成的刻度线和卖出价的变化是不充分的。
对于上一个帖子:...
猴子究竟是如何出人头地的......在现实生活中,猴子会急剧跳升,但这是不可能的;而在测试器中,价格会平稳上升,但这是不存在的;在这样的上升过程中,测试器中的猴子会显示出利润,尽管它们在现实生活中会亏损。
交易、自动交易系统和交易策略测试论坛。
MetaTrader 4 IDE 测试版,包括新的 MQL4 编译器和编辑器。
Urain, 2013.09.12 14:21
我不是要求举例说明,当您编写程序时,您会考虑可能的变体。
现在的问题是在特定情况下建模是否充分。我给了一个例子的链接,但这种情况很可能发生在任何经纪商的任何工具上。
ZY 在 4 种导致生成跳动点的情况中,有 2 种处理不当。
在其余两种情况中,两种价格(买入价和卖出价)都发生变化的情况并不总是能得到正确处理。
例如,价格急剧变化的情况会导致出现虚假价格。
总之,只有一种情况总是能得到正确处理,即出价变化。
ntchk
略微调整了文章中记录测试仪刻度的智能交易系统。
http://www.gkfx.ru/trade_specs/tick_history.html
http://www.dukascopy.com/swiss/russian/marketwatch/historical/
https://www.alpari.ru/ru/login/(我个人橱柜中的刻度),http://ticks.alpari.org/
预告片中的所有文件 + xlsx
Свеча в 14:30 (время в MetaTrader 5) объёмом в 39 тиков, в альпари она равна 86 на ECN и 136 тиков на стандарт,
但这绝对不重要(刻度线的数量),因为刻度线的生成原理是一样的,只是刻度线会更密集。
在 MetaTrader 5 测试仪中,您可以看到这根蜡烛上的价格在36 秒内单调、均匀、无抖动地上升到最高点, 然后出现小幅回调。
而在期货(股票跳动)上,您可以看到价格在几分之一秒内急剧跳动,然后开始正常交易。
对于其他报价急剧跳动的新闻/统计数据,原理也是一样的。https://www.mql5.com/ru/forum/1031/page19#comment_597854
真实外汇交易和期货交易的点差很小,因为它们之间存在套利,而且外汇交易的点差会被过滤和汇总。
+ 在进行真实交易时,执行订单的延迟是不同的,因为在一些期货经纪公司,所有订单都存储在交易所内,并在几微秒内执行,这与外汇交易不同。
https://www.mql5.com/ru/forum/10454/page88#comment_584876
这也是为什么任意延迟(测试器中的选项)不相关的原因,因为在生成测试器刻度线时,M1 蜡烛图内形成高点、低点或回撤的确切时间(毫秒、秒)并未考虑在内。
或者它(任意延迟)应手动设置为 1 分钟以上,但没有这种可能性(在其他情况下,准确性也会降低)。
新文章MetaTrader 5 终端策略测试仪中的刻度线生成算法 已发布:
作者:MetaQuotes Software Corp:MetaQuotes Software Corp.
我有一个用于微剥头皮的指标。它在 Tester M1 时间框架上给出了非常好的结果 - 每个刻度线
,但当它上线时,结果却很差!
,在我对着墙敲了好几天之后,我得出结论,这种差异是由于这种"刻度线生成算法"造成 的。
,有什么建议吗?
谢谢您的帮助。
ugo
大家好,我想我需要一些帮助。 我有一个用于微剥头皮的指标。它在 Tester M1 时间框架上给出了非常好的结果 - 每个刻度线 ,但当它上线时,结果却很差! ,在我对着墙敲了好几天之后,我得出结论,这种差异是由于这种
"刻度线生成算法"造成 的。 ,有什么建议吗? 谢谢您的帮助。 ugo
缩放器(依赖于刻度线数据)可能无法使用策略测试器进行测试。
如果不使用任何附加指标,可以从保存的历史条形图中捕捉自动生成的刻度线,将其丢弃,然后从以前保存的刻度线中插入同一分钟的刻度线。
保存到磁盘的二进制刻度线对于一种货币一周的时间大约需要 50 MB,因此我认为只有较小的时间段是可以测试的(如果您必须保存自己的刻度线数据,而不能从其他来源获取刻度线数据的话)。
但这可能足以验证您的算法。
祝你好运,ugo58
如果您不使用任何附加指标,您可以从保存的历史条形图中捕捉自动生成的刻度线,将其丢弃,然后从以前保存的刻度线数据中插入同一分钟的刻度线。
保存到磁盘的二进制刻度线对于一种货币一周的刻度线大约需要 50 MB,因此我认为只有小周期的刻度线是可以测试的(如果您必须保存自己的刻度线数据,而不能从其他来源获取刻度线数据的话)。
但这可能足以验证您的算法。
祝你好运,ugo58
嗨,谢谢大家!
我不太明白:"......插入同一分钟的刻度"。您是指手动查看相同开盘和收盘时间的真实刻度值,还是有办法从磁盘保存的历史记录中运行策略测试器?我从angevoyageur 那里得知这是不可能的。
乌戈
是的,MQL5策略测试仪 不允许使用与经纪商提供的价格不同的历史记录。但是,如果您编写自己的 EA,只要您不需要任何预制指标,就可以处理这个问题。
据我所知,使用新的 MQL4,您可以编写与 MQL5 相同的代码。如果您考虑到订单处理的不同方式,您可以使用您提供的历史记录测试您的 EA。
ugo58