还有一个问题,请回答。
在将结果上传到 ONNX 和执行 EA 时,出现了一个问题。将维度为 {1,31} 的数据传输到第一个分类模型时没有问题,我得到的值是
2025.04.22 19:47:28.268 test_gann (ORDIUSDT,M5) directionUpDn = 1 directionStrength=0.44935011863708496
但在将相同数据传递给第二个模型时,我不断收到以下错误:ONNX:参数为空,检查代码'° :àh½5E'(705:10)。传递的参数中没有一个为 0。
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 0, input_matrix[0][i] = -12.92599868774414
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 1, input_matrix[0][i] = -12.92599868774414
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 2, input_matrix[0][i] = -42.55295181274414
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 3, input_matrix[0][i] = 72.71257781982422
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 4, input_matrix[0][i] = 74.29901123046875
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 5, input_matrix[0][i] = -61.42539596557617
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 6, input_matrix[0][i] = 56.164878845214844
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 7, input_matrix[0][i] = -80.11347198486328
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 8, input_matrix[0][i] = 79.91580200195312
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 9, input_matrix[0][i] = -48.93017578125
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 10, input_matrix[0][i] = 80.48663330078125
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 11, input_matrix[0][i] = -79.71015930175781
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 12, input_matrix[0][i] = -45.92404556274414
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 13, input_matrix[0][i] = -82.36412048339844
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 14, input_matrix[0][i] = -56.164878845214844
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 15, input_matrix[0][i] = -10.630552291870117
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 16, input_matrix[0][i] = 62.323272705078125
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 17, input_matrix[0][i] = 13.0
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 18, input_matrix[0][i] = 10.0
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 19, input_matrix[0][i] = -12.92599868774414
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 20, input_matrix[0][i] = -61.48434829711914
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 21, input_matrix[0][i] = -36.735313415527344
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 22, input_matrix[0][i] = -23.80649185180664
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 23, input_matrix[0][i] = 0.3333333432674408
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 24, input_matrix[0][i] = 6.955999851226807
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 25, input_matrix[0][i] = 0.029581977054476738
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 26, input_matrix[0][i] = -0.5281187295913696
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 27, input_matrix[0][i] = 0.4025301933288574
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 28, input_matrix[0][i] = 420.0
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 29, input_matrix[0][i] = 641.6666870117188
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) i = 30, input_matrix[0][i] = 0.6545454263687134
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) ONNX:参数为空,检查代码'° :àh½5E' (705:10)
2025.04.22 19:39:38.482 test_gann (ORDIUSDT,M5) 执行错误:5805
也许您能帮我解决这个错误(浩瀚的互联网也无济于事)
发表文章Angular analysis of price movements: a hybrid model for forecasting financial markets:
作者:叶夫根尼-科什坚科
条形图的度量标准:后退 = 60,前进 = 30
训练精度:0.9200 | 测试精度:0.8713 | 差距:0.0486
训练 F1 分数:0.9187 | 测试 F1 分数:0.8682 | 差距:0.0505
CatBoost 在短距离上表现不佳,模型训练过度
请注意细节。
测试的时间范围是 4 个月,粗略计算为 161280 秒。总交易次数超过 17500 次,因此平均交易时间为 9 秒。考虑一下欧元兑美元在 9 秒内可能的平均走势。没有钱可赚。该模型在很大程度上预测了最后价格,就像任何使用价格序列作为输入的人工智能模型一样。人工智能模型在价格序列上的收敛性很差,这个模型也是如此。
单杠后退 = 60,前进 = 30
训练精度:0.9200 | 测试精度:0.8713 | 差距:0.0486
训练 F1 分数:0.9187 | 测试 F1 分数:0.8682 | 差距:0.0505
在短距离内,CatBoost 的效果不佳,模型训练过度
你好 Aliaksandr
这段代码的问题在于在 train_test_splash 中使用了
shuffle=True
参数。
如果将其改为
shuffle=False
就会发现性能大幅下降。这是因为,即使测试集和训练集原则上是相互分割和不相交的,但分割非常 精细,因此两个集之间有很多非常 相似的 X "值"。事实上,每个 X[i] 和 X[i+1] 之间只有 1 个条形位移的差异,这使得训练集和测试集实际上非常相似。因此,我们看到的优异结果(shuffle=True)基本上是由于过度拟合造成的。如果去掉洗牌,测试集将由一定数量的连续条形图(最近的条形图)组成,CatBoost 分类器在其中的预测效果并不好,相反,在训练集中的预测效果却很好。这显然是过度拟合的表现。即使在测试集(未洗牌)中只有很小一部分条形图的情况下,也会出现这种情况,因此性能下降不能用市场条件的变化来解释。

新文章 价格走势角度分析:用于预测金融市场的混合模型已发布:
货币对、股票和期货图表上每天都会产生成千上万根 K 线。它们构成形态,形成趋势,并产生阻力和支撑。然而,在这些熟悉的图表背后,隐藏着一个我们很少注意到的数学实体,即连续价格点之间的角度。
请查看常规的 EURUSD 图表。你看到了什么?线条和柱?现在想象一下,连接两个相邻点的每条线段都与水平轴形成一定的夹角。这个角度具有精确的数学值。正角度表示向上运动,负角度表示向下运动。角度越大,价格变动的斜率就越陡。
听起来很简单?但这种简洁之下却蕴藏着惊人的深度。因为角度并不彼此相等。它们形成了自己的模式,自己的旋律。事实证明,这首旋律蕴含着未来市场走势的关键。
作者:Yevgeniy Koshtenko