非常有用的文章
MT5 使用的是 ONNX 1.13.0 还是 1.14.0 版本?
这真的很有趣,非常感谢。
在文章所附的 ML 文件ONNX.eurusd.D1.30.class.Training.py 中,def collect_dataset() 中有以下几行代码(第 48 - 59 行):
for i in tqdm(range(n - sample_size)):
w = df.iloc[i: i + sample_size + 1]
x = w[['close', 'ma_fast', 'ma_slow']].iloc[:-1].values
delta = x[0][-1] - w.iloc[-1]['close']
if np.abs(delta)<=0.0001:
y = 0, 1, 0
else:
if delta>0:
y = 1, 0, 0
else:
y = 0, 0, 1请问上述高亮显示行背后的逻辑是什么?
分类是基于第一个样本的"ma_slow"(x[0][-1])和新目标的 "close"(w.iloc[-1]['close'])之间的差异。此外,还会有"sample_size-1"的时间差异。
此外:
if delta>0:
y = 1, 0, 0这不应该是y = 0,0,1 吗?即卖出信号。
同样,ONNX.eurusd.D1.10.class.Training.py 中def collect_dataset(),第 45-47 行:
x = w[['open', 'high', 'low', 'close']].iloc[:-1].values
delta = x[3][-1] - w.iloc[-1]['close'] 如何分类?分类是基于第四个样本的"收盘价"(x[3][-1])和新目标的 "收盘价"(w.iloc[-1]['收盘价'])之间的差异;并且会有"sample_size-4"的时间差异。
新文章 在类中包装 ONNX 模型已发布:
面向对象编程可以创建更紧凑、易于阅读和修改的代码。 在此,我们将会看到三个 ONNX 模型的示例。
多数票的计算根据等式 <总票数>/2 + 1。 总共 3 票,多数票为 2 票。 这就是所谓的“硬投票”。
测试结果仍采用相同的设置。
我们分别回顾一下所有三个模型的工作,即盈利和无盈利交易的数量。 第一个模型 — 11:3;第二个模型 — 6:1;第三个模型 — 16:10。
看来,在硬投票的帮助下,我们改善了结果 — 16:4。 但是,当然,我们需要查看完整的报告和测试图表。
作者:MetaQuotes