voidOnStart()
{
constdouble a = 2, b = 7;
constvector<double> Vector = {1, 2, 3, 4};
Print(Vector.CorrCoef(Vector * a + b)); // 1Print(Vector.CorrCoef((Vector + a) * b)); // 1
}
尽管公式很简单,但我并不觉得是加法。维基上也是这么说的。
Ключевым математическим свойством коэффициента корреляции Пирсона является то, что он инвариант при отдельных изменениях положения и масштаба двух переменных. То есть мы можем преобразовать X в a + bX и преобразовать Y в c + dY, где a, b, c и d - константы с b, d>0, без изменения коэффициента корреляции.
是国防部
如果原始 EA 的模式是一样的,那就没有区别了:看到模式,打开。
在 MQL5 中,计算这样一个矩阵的元素在我的旧机器上需要约 55 个小时。内存消耗极少。
行长为 100。一百万乘以一百万还是 100?这是输入矩阵吗?
输出是 1000000* 1000000?这可是一兆兆字节。你是逐行读取并转存到光盘上的吗?
你用的是什么函数?PearsonCorrM、PearsonCorrM2、PearsonCorr2 还是标准?
如果原始 EA 的模式是相同的,也没有什么区别:看到模式,打开。
这里不同的是,EA 自己会产生信号。
而模式集应该与逻辑相联系。我尝试过定向交易和最小反转,两者都有模式,而且相对较好。
是一百万乘以一百万还是一亿?这是输入矩阵吗?
输入是 100x1000000。
输出是 1000000*1000000 ?那就是一兆兆字节你逐行计算并转存到磁盘?
一行一行地数我什么也没转存。要做到这一点,我们不需要写矩阵,只需要计算它的行数。
您用什么函数进行计数?PearsonCorrM、PearsonCorrM2、PearsonCorr2 还是标准函数?
我找不到逐行计算的内部函数。Alglib 看起来很慢。我正在尝试自己的版本。
这不一样,NS 会产生自己的信号。
而模式集应与逻辑相联系。我尝试过定向交易和最小反转,两者都有模式,而且相对较好
听起来不错。
我暂时把它放在一边,因为它的效果并不比 MO 好,虽然 MO 在平衡的流畅性方面也很逊色
5 分钟,半训练
一行一行地看。我没有打折扣。在讨论寻找模式时,粗略地说,在每一行中,您只需要找到 Abs(Corr[i]) > 0.9 的情况。
A 是精确的。每一行可能只有 1-5 千个相关行,必要时可以保存。
我认为 PearsonCorrM2 可以快速工作。我们输入 1 个满矩阵,从一行开始检查第 2 个矩阵。如果从最后一行开始计算,我们可以将第一个矩阵的大小指定为下一行的行数,这样就不会重复计算被检验行以下各行的相关性。
我认为 PearsonCorrM2 将是一条快速通道。
我一开始也怀疑它的速度。
我试过其中一个,但只测出了亮点。有些慢,所以我自己做了一个。
除了我,其他人又不是不知道。
皮尔逊在乘法和加法的作用下是不变的。
尽管公式很简单,但我并不觉得是加法。维基上也是这么说的。
Ключевым математическим свойством коэффициента корреляции Пирсона является то, что он инвариант при отдельных изменениях положения и масштаба двух переменных. То есть мы можем преобразовать X в a + bX и преобразовать Y в c + dY, где a, b, c и d - константы с b, d>0, без изменения коэффициента корреляции.
有一个单位相关矩阵(行乘以列)。
皮尔逊在乘法和加法的作用下是不变的。
对于价格数据来说,这可能不是很好。