eugenk1 писал (а): xeon,可以使测试器一直工作。当然,它必须用高度优化的C语言编写,而不是用mql4。唉,在这一切中,有一个非常严重的隐患。也就是说,它是对系统进行估计和优化的时期。即用多长时间来评估其性能?假设我们有两个策略在竞争真实交易权。目前成功的一个和最差的一个。例如,在一个小时内,目前的策略已经亏损,而相反,后备的策略却很成功。问题是要改变战略还是不改变?毕竟,这可能是一个新趋势的开始(不要与趋势/潮流相混淆!),也可能是偶然的。也就是说,事实证明,这样的测试器本身至少有一个(而且很重要!!)可配置的参数--评估和优化期。不要以为我在说这种方法是不可能的。我只是说,这一切都有困难和不明显的地方。
到目前为止,一切在我看来都简单多了。你应该从一些简单的、天真的系统开始,用最少的调谐参数,并向它添加一个实时的自适应参数变化的块...
就这样,剩下的就很少了 :) 我们需要决定用什么数据来计算适应性参数。我甚至不知道该建议什么 :(
有人在这方面有什么想法吗?
我可以先提出以下TC模型。
我们采取简单的专家顾问,并给它写一个块 "测试者"(其任务将是 - 每天一次,例如在格林尼治标准时间01:00调整TS在每月的历史)。
xeon,可以使测试器一直工作。当然,它必须用高度优化的C语言编写,而不是用mql4。唉,在这一切中,有一个非常严重的隐患。也就是说,它是对系统进行估计和优化的时期。即用多长时间来评估其性能?假设我们有两个策略在竞争真实交易权。目前成功的一个和最差的一个。例如,在一个小时内,目前的策略已经亏损,而相反,后备的策略却很成功。问题是要改变战略还是不改变?毕竟,这可能是一个新趋势的开始(不要与趋势/潮流相混淆!),也可能是偶然的。也就是说,事实证明,这样的测试器本身至少有一个(而且很重要!!)可配置的参数--评估和优化期。不要以为我在说这种方法是不可能的。我只是说,这一切都有困难和不明显的地方。
让我们尝试一下简单的方法,毕竟。
任务:是否可以写一个函数,每天运行一次月度历史,并为止损参数设置最佳数字?
而最伟大的事情是:我可以用这个功能来检查测试器吗? 测试器到底能不能工作?事实证明,在测试模式下,每天都应该为新的一天改变停止参数? 这可能吗?如果这项任务得到解决,剩下的就是前面所说的锦上添花。
xeon,可以使测试器一直工作。当然,它必须用高度优化的C语言编写,而不是用mql4。唉,在这一切中,有一个非常严重的隐患。也就是说,它是对系统进行估计和优化的时期。即用多长时间来评估其性能?假设我们有两个策略在竞争真实交易权。目前成功的一个和最差的一个。例如,在一个小时内,目前的策略已经亏损,而相反,后备的策略却很成功。问题是要改变战略还是不改变?毕竟,这可能是一个新趋势的开始(不要与趋势/浮动相混淆!),也可能是偶然的。也就是说,事实证明,这样的测试器本身至少有一个(而且很重要!!)可配置的参数--评估和优化期。不要以为我在说这种方法是不可能的。我只是说,这一切都有困难和不明显的地方。
让我们尝试一下简单的方法,毕竟。
任务:是否可以写一个函数,每天运行一次月度历史,并为止损参数设置最佳数字?
而最伟大的事情是:我可以用这个功能来检查测试器吗? 测试器到底能不能工作?事实证明,在测试模式下,每天都应该改变新一天的停止参数? 这可能吗?如果你解决了这个问题,剩下的就是前面所说的锦上添花。
据我所知,在mql中写这样一个函数是可能的,但对我来说不是一件容易的事,因为我是一个 "业余的程序员",我需要时间来做这件事。
自我调整指标是一个死胡同。 我将努力证明我的观点。
我已经开发了几个这样的指标,但它们似乎对来自不同经纪公司的报价的波动性很敏感。也就是说,这些指标在一家经纪公司的数据上运行良好,而在另一家公司的数据上却完全不起作用。最糟糕的是,他们用TC数据工作。例如在同一报价区间的标准指标上,一家经纪公司有分歧,另一家则没有。
我的研究表明,波动性是自我调整指标中需要考虑的首要因素。然而,最终该指标变得依赖于不同经纪公司的报价过滤方法和该方法的变化(经纪公司不通知)。
在这里,我还面临着这样一个事实:我不能 "硬化"(就像Renat总是说的)自我调整,因为它是恒定的(线性),而不是离散的。
我认为,避免波动问题的唯一方法是忽略指标和报价的绝对值。也就是说,要在MTS中做出决定,我们应该以某种形式使用数值的相关性,这实际上就是模式识别。
它!
自我调整指标是一个死胡同。 我将努力证明我的观点。
我已经开发了几个这样的指标,但它们似乎对来自不同经纪公司的报价的波动性很敏感。也就是说,这些指标在一家经纪公司的数据上运行良好,而在另一家公司的数据上却完全不起作用。最糟糕的是,他们用TC数据工作。例如在同一报价区间的标准指标上,一家经纪公司有分歧,另一家则没有。
我的研究表明,波动性是自我调整指标中需要考虑的首要因素。然而,最终该指标变得依赖于不同经纪公司的报价过滤方法和该方法的变化(经纪公司不通知)。
在这里,我还面临着这样一个事实:我不能 "硬化"(就像Renat总是说的)自我调整,因为它是恒定的(线性),而不是离散的。
我认为,避免波动问题的唯一方法是忽略指标和报价的绝对值。也就是说,要在MTS中做出决定,我们应该以某种形式利用价值的相关性,这本质上是模式识别。
对于任何系统,重要的不是价格值,而是价格变化的速度(有时只是符号)。
有时会使用价格加速度(估计作用于价格的力量,作为一个领先指标)。
所有与MTS一起使用的指标实际上都是为了估计速度。
不同的指标只是估计速度的不同选择。
1.所有的振荡器都估计速度,有时是加速度(如MACD)。
2.所有的移动平均线 都不能单独使用。
只有在与其他移动平均线的比较中(价格是一个长度=1的muving)。
这种移动平均线的比较(实际上是将它们的差异与零进行比较)是一种震荡器。
3.需要考虑的不是价格,而是价格的对数。
在对数中,一切都变得更简单、更正确。
对于价格的微小变化,用价格和对数工作将没有区别。
在价格变化较大的情况下,差异将是显著的。
我可以给你一个小提示吗?:)
对于任何系统,重要的不是价格值,而是价格变化的速度(有时只是符号)。
有时会使用价格加速度(估计作用在价格上的力量,作为一个领先指标)。
所有与MTS一起使用的指标实际上都是为了估计速度。
不同的指标只是估计速度的不同选择。
1.所有的振荡器都估计速度,有时是加速度(如MACD)。
2.所有的移动平均线 都不能单独使用。
只有在与其他移动平均线的比较中(价格是一个长度=1的muving)。
这种移动平均线的比较(实际上是将它们的差异与零进行比较)是一种震荡器。
3.需要考虑的不是价格,而是价格的对数。
在对数中,一切都变得更简单、更正确。
对于价格的微小变化,用价格和对数工作将没有区别。
在大的价格变化中,差异将是显著的。
或者,你也会参与编写代码?:-),以你的编程经验,它将会进行得更快。