交易系统联盟。继续保持良好的工作。 - 页 24

 
Georgiy Merts:

朋友们,你们为什么如此担心广告...人们不写 "Alpari",而写 "A上著名的经纪公司"。或者代替 "Insta"--"I的著名经纪公司"--嗯,这很荒谬!为什么要偏执呢? 这个问题相当具体,如果它的答案被认为是 "广告"--嗯,我不知道,那么你必须在几乎每一个帖子中看到广告...

让我们在理性范围内,每个人都有足够的直觉来区分广告和解释。

我读过关于TDS的文章。我感到非常惊讶。 声称有以下特点。

1.没有2Gb的文件大小限制。
2.在几份终端中同时测试的可能性。
能够从不同的经纪商那里导入tick数据。
4.模拟测试过程中的滑移。
5.用真实的价差进行测试。

当然,所有这些都是有用的,但如果MetaTrader拥有这一切,你为什么还需要第三方程序来做这些事情呢?

另外,用ticks来定位TS,持有超过一天的头寸,根本没有意义。我比较了在1M OHLC模式和 "真正的ticks "模式下的测试 - 差异非常小。如果更快的1M OHLC模式对TS来说已经足够了,那么在tick测试上浪费大量的时间就没有意义了?

测试也是通过MT4测试器进行的。

但是报价不是弯曲倾斜的,由终端从metaquotes上传,而是来自Dukas或你的经纪人的真实报价。

在功能上。

1.文件大小 无限制 2Gb。- 我再说一遍,你赖以测试的那些引文与现实没有什么共同之处。

2.在多个终端副本中同时测试的可能性。- 我是指通过TDS获得的报价的工作。

3.可以从不同的经纪商那里导入tick数据。- 在MT4中没有这样的可能性,而且从来没有。

4.在测试过程中模拟滑落的情况。- 也没有,将来也不会有。

5.用实际差价进行测试--与第4点类似。

"另外--对于一个持仓超过一天的定位TS来说,用ticks工作--根本没有意义。我比较了在1M OHLC模式和 "真正的ticks "模式下的测试 - 差异极小。如果对于TS来说,更快的1M OHLC模式已经足够了,为什么还要在tick测试上浪费大量的时间?

- 这是极其微小的差别,这是区分一个失败的策略和一个盈利的策略的差别))))。

- 如果你不知道该如何处理,你肯定需要一个在未来能很好运作的解决方案。

用这些报价不能做任何严肃的工作。在市场上持有多长时间的头寸并不重要,哪怕是一天或一年。

 
Boris Gulikov:

测试也是通过MT4测试器进行的。

除了报价不是歪歪斜斜的,由终端从metaquotes上传,而是来自Dukas或你的经纪人的真实报价。

关于小说。

...................

啊啊啊...你使用的是旧版本,MT4...那就说得通了。

不...Metatrader 4不是我们的方式。几年来,我们一直只用MT5进行测试。 而且我们为MT4编译了工作版本。

1.我所测试的报价与现实中的报价完全相同。特别是如果你使用 "所有刻度都基于真实 "的模式。但正如我所看到的--这是多余的。对于定位TC--1M的OHLS模式就可以了。

2.我让MT5同时在24个线程中进行测试--本地家庭网络的所有核心都被使用。

3.在MT5中--你可以轻松导入任何供应商的报价(如DucaCopi--导入,一切皆有可能)。但我对阿尔帕里什的人相当满意。

4.在MT5中--非常好地模仿了滑移。但对于位置性的TS来说,滑移并不重要。好吧,有时会有一打或两点滑落......这还不到平均TP或SL的10%...。为什么要追寻这种滑坡?

5.在MT5中,测试是完全针对真实点差进行的。你必须启用 "所有刻度基于真实 "模式。但同样的,对于League TS来说,它的仓位策略--所有的ticks给人的印象与 "每分钟四个ticks "模式(1M OHLC)几乎一样。正如我之前所说,如果DC有一个疯狂的价差,那么差异就会出现--但不是由于这个价差本身,而是由于Asc价格的获得方式相当不同,交易也因此不同。

而且,同样,你可能是对蜱虫有不同的数据的人。对我来说,差别非常小。更多的是受到价差的影响。

我的结论,你只有通过使用TDS来确认:MT4是一个过时的平台,不适合测试。只有MT5!!!


是的,好吧,看看你自己--我怎么能同意TDS是一个必要的东西,如果MT5有它最初提供的一切,再加上允许一些TDS,据我所知,不允许的东西(例如,在不同的核心上使用并行测试,或同时测试多个符号)?我看不出有什么好处。对于MT4 - 是的,TDS提供了巨大的额外可能性(在MT4中,确实,tick的生成 与真实的严重不同)。但是,MT4是一个早已过时的平台,我使用它只是因为我的DC账户是在MT4上。

 
Georgiy Merts:

呃...我不明白。为什么说 "这样的EA不适合在测试器中使用"?你认为我在哪里测试?

TC联盟的想法是我两年前提出来的,大家对它极度怀疑。 联盟的总体模板和第一个TC是一年前写的,那时我有一台旧电脑,我邀请大家加入测试。在上一个TC联盟的主题中,我描述了如何做到这一点,有两个人帮助我进行了测试...他们毕竟有最常见的MetaTrader测试器 !

专家顾问中的直接数据读取与从图表中读取数据没有什么不同--功能是一样的,但如果你想从图表中获取数据,你要指定当前的符号和时间框架,如果你想要一些特定的数据,你要指定它们。内部设置控制并不复杂--所有的数据都在一个简单的函数中被简单地等价处理,并添加了一些代码用于打开/关闭各个功能。这不是很复杂。

我已经有了自己的优化器--我使用MetaTrader提供的功能--在优化 过程中,专家顾问 收集数据帧并检查它们,根据最大原则选择最好的一个--这样,前后测试的最大性能将是最小的(从而确保TS在整个历史上的表现不会比这个找到的最大性能差)。这样的输入参数组合被发现并作为准备好的函数文本写入日志中。优化后,我把这个日志直接转移到TC类代码中。这就是全部。TC被优化并被送到 "公共池"。而且它将在那里工作,直到再次超过控制参数。

我的意思是,如果你有一个单一EA形式的事实上的联盟,但它只需要实时测试,我不是说在优化器中定期运行区块,那么与其他EA相比,它是一个退步,即多货币是一个优点,但缺乏测试器是一个缺点。

如果能在测试器中运行联盟,就像MT5中常见的多货币EA一样,那就不同了。

据我了解,该代码与MT4账户兼容,我想如果你做一个内置的区块优化器,将有可能在测试器中运行,如果是这样,与目前的测试模式相比,可能会节省几年时间:)

 
Ivan Negreshniy:

我的意思是,如果你在联盟中有一个事实上的单一EA,但它只需要实时测试,我不是说在优化器中定期运行区块,那么与其他EA相比,它是一个退步,即多货币是一个优点,但没有测试器是一个缺点。

如果能在测试器中运行联盟,那就不同了,例如,在MT5中像平常一样运行多货币EA。

据我了解,尽管在MT4账户上工作,但代码也与MT5兼容,我认为如果你做一个内置的区块优化器,它很可能在测试器中进行比赛,如果是这样,与目前的测试模式相比,它可以节省几年时间:)

是的,这是正确的。

联盟的代码是多平台的,它在MT4和MT5上的编译没有变化。

每个TS都被组织成一个单独的班级。因此,联盟的可执行模块看起来像这样。

//+------------------------------------------------------------------+ //|                                                        TS_090817 | //|                                     Copyright 2017, George March | //+------------------------------------------------------------------+ /* Советник на основе фабрик, сделанный 090817 - оболочка для МТ5. */ #property description "TS_090817" #include <MyLib\DebugOrRelease\DebugSupport.mqh> #include <MyLib\Common\CurSymEnum.mq5> #include <MyLib\Factories\ForTrade\EURUSD\EURUSD_FactoriesIncludes.mqh> // Объявляем фабрики частей эксперта. // ЕМА сопровождение CTrendDTS_EURUSD_01_EPF epfFact_0(NULL); CTrendSAR_EURUSD_01_EPF epfFact_1(NULL); CTrendSP_EURUSD_01_EPF epfFact_2(NULL); CFlatSP_EURUSD_01_EPF epfFact_3(NULL); CFlatSAR_EURUSD_01_EPF epfFact_4(NULL); CFlatRTS_EURUSD_01_EPF epfFact_5(NULL); CTrendRTS_EURUSD_01_EPF epfFact_6(NULL); CFlatDTS_EURUSD_01_EPF epfFact_7(NULL);

// PriceChannel сопровождение CTrendDTS_EURUSD_PrCh_EPF epfFact_8(NULL); CTrendSAR_EURUSD_PrCh_EPF epfFact_9(NULL); CTrendSP_EURUSD_PrCh_EPF epfFact_10(NULL); CFlatSP_EURUSD_PrCh_EPF epfFact_11(NULL); CFlatSAR_EURUSD_PrCh_EPF epfFact_12(NULL); CFlatRTS_EURUSD_PrCh_EPF epfFact_13(NULL); CTrendRTS_EURUSD_PrCh_EPF epfFact_14(NULL); CFlatDTS_EURUSD_PrCh_EPF epfFact_15(NULL);

// ZZPendings сопровождение CTrendDTS_EURUSD_ZZPnd_EPF epfFact_16(NULL); CTrendSAR_EURUSD_ZZPnd_EPF epfFact_17(NULL); CTrendSP_EURUSD_ZZPnd_EPF epfFact_18(NULL); CFlatSP_EURUSD_ZZPnd_EPF epfFact_19(NULL); CFlatSAR_EURUSD_ZZPnd_EPF epfFact_20(NULL); CFlatRTS_EURUSD_ZZPnd_EPF epfFact_21(NULL); CTrendRTS_EURUSD_ZZPnd_EPF epfFact_22(NULL); CFlatDTS_EURUSD_ZZPnd_EPF epfFact_23(NULL); // Файл шаблона советника #include <MyLib\TSTemplate\ExpertAdvisorT.mq5>

所有。

在这种情况下,这是欧洲美元上所有TS的代码,以最小的批量一起工作。

我们可以为其他符号申报其他TS。一切都已编译完毕--只需测试。

但是,为了优化,使用了特殊的类,即TS基本类的后代,你可以在其中进行设置,并且能够形成具有在TS中进行设置所需功能的非常文件。

 
Georgiy Merts:

呃...我不明白。为什么说 "这样的EA不适合在测试器中使用"?你认为我在哪里测试?

TC联盟的想法是我两年前提出来的,当时人们对它极度怀疑。 联盟的总体模板和第一个TC是一年前写的,那时我有一台旧电脑,我邀请人们加入测试。在上一个TC联盟的主题中,我描述了如何做到这一点,有两个人帮助我进行了测试...他们毕竟有最常见的MetaTrader测试器 !

专家顾问中的直接数据读取与从图表中读取数据没有什么不同--功能是一样的,但如果你想从图表中获取数据,你要指定当前的符号和时间框架,如果你想要一些特定的数据,你要指定它们。内部设置控制并不复杂--所有的数据都在一个简单的函数中被简单地等价处理,并添加了一些代码用于打开/关闭各个功能。这不是很复杂。

我已经有了自己的优化器--我使用MetaTrader提供的功能--在优化 过程中,专家顾问 收集数据帧并检查它们,根据最大值的原则选择最佳的数据帧--这样,前后测试的最大性能是最小的(从而确保TS在整个历史上的表现不应该比这个找到的最大值更差)。这样的输入参数组合被发现并作为准备好的函数文本写入日志中。优化后,我把这个日志直接转移到TC类代码中。这就是全部。TC被优化并被送到 "公共池"。而且它将在那里工作,直到再次超过控制参数。

什么TF是建立的通道,机器人在英镑上交易?

 
Roman Shiredchenko:

渠道是在哪个TF上建立的,机器人是否在英镑bax上交易?

М15

 
Georgiy Merts:

М15

谢谢

 
Georgiy Merts:

是的,这是正确的。

该联盟的代码是多平台的,它在MT4和MT5上编译,没有任何变化。

每个TS都被组织成一个单独的班级。因此,联盟的可执行模块看起来像这样。

所有。

在这种情况下,这是欧洲美元上所有TS的代码,以最小的批量一起工作。

我们可以为其他符号申报其他TS。一切都经过编译,然后进行测试。

但是为了优化--特殊的类被用作基本的TS类的后代,在这些类中可以设置,并且能够形成具有在TS中进行设置所需的功能的非常文件。

该结构是模块化的,原则上在测试期间对单个策略进行过度优化应该是可行的。

乍一看,问题可能只是在测试器中的速度和代码缓存,这将不允许动态加载已编译的即时MQL代码。

我不知道你是否打算在这个方向上发展你的联盟,但我会感兴趣,因为我自己最近也有类似的想法。

我遇到了一个令人惊讶的短期优化在小时间段的效果,我可以重现它,但不幸的是,我还没有在测试器中运行的工具。

 
Ivan Negreshniy:

该结构是模块化的,原则上在测试期间重新优化一个单独的策略应该是可行的。

乍一看,问题可能只是在测试器中的速度和代码的缓存,这将不允许动态加载编译后的MQL代码。

我不知道你是否打算在这个方向上发展你的联盟,但我会感兴趣,因为我自己最近也有类似的想法。

我遇到了一个令人惊讶的短期优化在小时间段的效果,我可以重现它,但不幸的是,我还没有在测试器中运行的工具。

真正的动态编译在MetaTrader中很难实现。

我把它定为 "半动态"。也就是说,一些TS显示了控制参数--我重新优化它,找到在过去两年中显示出良好效果的参数(年-后,年-前),将变化应用于TS类(这就是 "动态编译 "的作用),然后我重新编译所有的东西并发送至工作。

短期优化...在我看来,这里的一切都很不稳定,很不稳定......。我的目标是得到一个稳定的TS,可以长期工作,即使利润不多。

 
Georgiy Merts:

真正的动态编译在MetaTrader中很难实现。

我把它定为 "半动态"。也就是说,一些TS显示控制参数--我重新优化它,找到在过去两年中显示出良好效果的参数(年-后,年-前),将变化应用于TS类(这就是 "动态编译 "的作用),然后我重新编译一切,并发送至工作。

短期优化...在我看来,这里的一切都很不稳定,很摇摆。我的任务只是获得稳定的TC,长期工作,即使没有多少利润。

动态编译可以通过命令行mql.exe完成,但在测试过程中重新加载编译后的模块是有问题的。

但我不在乎,因为我也可以通过阵列使神经元网过载,但为了获得和调试长期稳定的策略,例如,与短期策略相比,一个快速测试的工具变得很重要。