程序库: BestInterval - 页 13

 
Javier Angel Labandeira Garcia:

我更新了最新版本的 BestInterval 和 Virtual。

当在代码开头添加新行进行编译时,出现了很多错误。最后只有 3 个(见图)。

非常感谢您的帮助

把这些行放在开头,而不是结尾。

 

通常情况下,这样的回溯测试会在优化期间(或单次)直接进入垃圾箱。


但是,优化期间的 BestInterval 会显示出最佳结果之一。原因


 

缺点是没有衡量标准来确定它与被优化区间的不匹配程度。

例如,我的库在测试器中绘制了与 1 次完全相同的图画,但它并不抛出区间,而是翻转亏损的交易并逼近新的序列。

事实证明,初始 TS 中的交易越多,Bestinterval 显示的图片就越漂亮,而在此之前的交易分布并不重要。

 
Maxim Dmitrievsky:

缺点是没有指标来确定它与被优化区间的不匹配程度。

你可以为 OnTester 编写任何你想要的指标。程序库允许这样做。

例如,我的程序库在测试器中的 1 次测试中得出了完全相同的结果,但它并没有抛出区间,而是扭转了亏损的交易,并逼近了一个新的序列。

事实证明,初始 TS 中的交易越多,Bestinterval 显示的图片就越漂亮,而在此之前的交易分布并不重要。

模棱两可的说法。我确定拟合度的方法很简单--取 BestInterval 的一个最佳结果,在两倍大的区间内运行(单次)。如果区间的扩大没有改变直接平衡的特征,就不是拟合。在上图第二幅图中,交易次数大于 1000 次。如果我将区间扩大一倍,直线依然存在。也就是说,这不是 100% 拟合。

另外,"不拟合 "只意味着一件事--发现了真实的模式。但不能保证它们会继续存在。而这种不保证并不表示任何形式的契合。这只是生活的规律。

 
fxsaber:

您可以为 OnTester 编写任何指标。该库允许

含糊不清的说法。我对拟合的定义很简单--我将 BestInterval 的一个最佳结果在一个两倍大的区间内运行(单次)。如果时间间隔的延长不会改变直接平衡的特征,那就不是拟合。在上图第二幅图中,交易次数大于 1000 次。如果我将区间扩大一倍,直线依然存在。即不是 100% 拟合。

另外,"不拟合 "只意味着一件事--发现了真实的模式。但不能保证它们会继续存在。而这种不保证并不表示任何形式的契合。这只是一种生活规律。

总的来说,你是在做纯粹的机器学习,但由于某些原因,你忽略了这个话题:)

是的,如果你建立了一些指标,并根据这些指标筛选出模型,那么过度拟合的情况就会减少,这就是我的观点。理想情况下,如果机器能选择最好的模型,那么它也更有可能在 OOS 上显示出一些东西。

 
Maxim Dmitrievsky:

总的来说,你做的是纯粹的机器学习,但出于某种原因,你忽略了这个话题:)

我接受不了。

是的,如果你建立了一些指标,并根据这些指标筛选出模型,那么就会减少日常的搜索工作,这就是我的观点。理想的情况是,如果能自动选出最好的模型,那么在 OOS 上也会有更高的概率显示出一些东西。

如果有更多的计算资源,就不需要 BestInterval 了。也就是说,这里没有任何 MO 的影子。它只是一个方便快捷的过滤器,仅此而已。


至于 OOS 概率,它的确定方法与我上面所说的完全相同。也就是说,任何选择/优化因素都会被排除。要么一切都很好,要么就是垃圾。


一个复杂得多的问题是,当有一个工作 TS 时,有必要为真实输入参数选择最佳值。

 

我发现 GA+BestInterval 是一种令人厌恶的映射。也就是说,会出现向某个局部极值收敛的情况,而在检查时却发现它是绝对拟合的。

事实证明,Buteforce+BestInterval 是一个非常好的映射。很明显,GA 让我相信 TC 是垃圾,而 Bruteforce 却让我看到了希望。


要使 Bruteforce 快速运行,您需要少量的 ticks 和快速的 TC 逻辑。这就是为什么所有加速机制不仅能给出定量结果,还能给出定性结果。

 
从 GA 本身来看,全局最优就像公牛喝牛奶一样),它被认为是一种探索性的优化,在结果的可靠性方面没有任何优势。
 
Maxim Dmitrievsky:
GA 本身就像公牛的牛奶一样好喝)它被认为是一种探索性的优化方法,在结果的可靠性方面根本不值得一提。

我无法与 GA 交朋友。

 
我对 Meta 编辑器中的编码或 EA 一无所知,但我非常喜欢您提出的 BestInterval 概念。如果您能指导我如何将其添加到我想测试的 EA 中,会不会太麻烦了?