文章 "神经网络实验(第 6 部分):自给自足的价格预测工具 — 感知器"

 

新文章 神经网络实验(第 6 部分):自给自足的价格预测工具 — 感知器已发布:

本文提供了一个的示例,运用感知器作为自给自足的价格预测工具,展示其一般概念和最简单的已制备智能系统,然后是其优化结果。

指标是用于分析市场并帮助识别趋势、入场和离场时机、以及支撑位和阻力位的数学方程式。 可以在感知器中用于分析外汇市场的一些最常见指标包括:

  • 移动平均线;
  • 相对强弱指数(RSI);
  • 随机振荡器;
  • MACD(移动平均收敛扩散)。

将收盘价和指标传递给感知器,可令模型参考市场分析的各个方面,并创建更准确的价格预测。 例如,模型可利用移动平均线来判定整体市场趋势,然后利用随机振荡器来判定入场切入点。

作者:Roman Poshtar

 

嗨,罗曼、

两篇好文章!我刚刚第一次读了这两篇文章。

由于我还没有研究过代码,我很想知道 CNeuralNet 对象是否是您之前 Perceptron 计算的重构? 它看起来非常有趣,因为最初的角度和扇形方法在我的前瞻性测试中惨遭失败。 我使用欧元兑美元 H4 从 1/1/2020 到 1/1/0203 作为我的训练,并使用 1/1/2023 到 5/1/2023 作为我的前瞻性测试。该角度失败的原因是,在 1/2/2023左右的第一次下跌中,有停顿的延长趋势触发了该角度,但没有反转和止损并使账户破产,而您的测试完全遵循了这次下跌。 扇形方法在正向测试中没有进行任何交易。


注意安全,我期待着你的下一篇文章。


科达角

附注

我刚刚看了您的两个源文件,有一些问题。

根据您之前的 Perceptron 文章中的源代码,似乎缺少了一些部分。

提供的 EA 似乎是您的优化 EA。但是,它并没有使用我期望看到的 CNeuralNet 对象。

前向测试 EA 丢失了,因为附加 EA 没有使用 GA 优化运行的结果作为权重数组(如 EURUSD 数组)的输入。

还是我错过了您的感知器理念中的逻辑变化?

 
CapeCoddah #:

嗨,罗曼、

两篇好文章!我刚刚第一次读到这两篇文章。

由于我还没有研究过代码,我很想知道 CNeuralNet 对象是否是您之前 Perceptron 计算的重构? 它看起来非常有趣,因为最初的角度和扇形方法在我的前瞻性测试中惨遭失败。 我使用欧元兑美元 H4 从 1/1/2020 到 1/1/0203 作为我的训练,并使用 1/1/2023 到 5/1/2023 作为我的前瞻性测试。角度法失败的原因是,在 1/2023 年 1 月 2 日前后的第一次下跌中,有停顿的延长趋势触发了角度法,但并没有反转和止损并使账户破产,而您的测试则完全遵循了这次下跌。 扇形方法在前瞻性测试中没有进行任何交易。


注意安全,我期待着你的下一篇文章。


科达角

附注

我刚刚看了您的两个源文件,有一些问题。

根据您之前发表的 Perceptron 文章中的源代码,似乎缺少了一些部分。

提供的 EA 似乎是您的优化 EA。但是,它并没有使用我期望看到的 CNeuralNet 对象。

由于附加 EA 没有使用 GA 优化运行的结果作为权重数组(如 EURUSD 数组)的输入,因此缺少了前向测试 EA。

还是我错过了您的感知器理念中的逻辑变化?

你好,我的朋友。我不太理解您的意思,所以请您循序渐进地表达您的想法。优化取决于设置中使用的感知器的影响深度。每一对都有自己的结论。这也取决于通过的次数,因为它们的值是无限的。

 

你好,罗曼、

我很感谢您的快速回复。 我想我明白 GA 优化的原理,即在相同的时间框架内,每次运行的结果都可能不同,而且结果会因开始日期、测试时间和每对货币对的不同而不同。 但我没想到的是,当 3 年的训练运行产生 50%的利润时,EA 会在 5 天内失败,失去整个起始仓位,或者在实际运行期间不进行任何交易。

我的最终目标是开发一种波段交易感知器 EA,它的训练时间固定,在训练期最后一天之后只运行一个月。 然后,它将以相同的时间长度重新训练,但启动期将在一个月之后,然后运行第二个月的实际数据,就像滚动均线一样。我这样做的依据是我的假设,即外汇市场会逐渐改变方向,任何 "训练有素 "的网络在训练后的头几个月都会是最准确的,然后会随着市场条件的不断变化而逐渐失去准确性。 我还知道,可能会有一些开创性的市场变化会直接影响任何 "训练有素 "网络的准确性。 这种类型的变化会对所有未来的变化产生重大影响。

据我观察,角度感知器很擅长在反转发生之前感知反转的开始,但不幸的是,它也很擅长检测趋势的停顿,并在预期反转发生时进行交易,而在本案例中,反转并没有发生。由于趋势仍在继续,在实际测试运行开始时,由于大的止损单导致起始仓位亏损,从而造成重大损失。 我认为部分问题在于 100 感知器循环需要根据账户余额进行自适应调整,以降低交易总数。


在您以前的帖子,您发布了一个用于优化的 EA (opt) 和第二个用于交易测试的 EA (trade)。 在这篇帖子中,只有一个:我的感觉是,这个 EA 可以直接用于运行 GA 优化,与您之前的 OPT 版本相对应。 但是,没有包含用于前瞻性测试的 Trade 版本。 如果这是有意为之,我可以调整这个 EA,加载 GA 结果,生成用于前瞻性测试的 EA。

除了 EA 之外,您还发布了一个类对象 NeualNet 作为包含文件,我还没有查看过。 让我感到惊讶的是 Perceptron_MA_4 EA 并没有使用这个包含文件。 我原本以为会有一个优化 EA 版本,其中包含 CNeuralNet 类,并且还使用了您发布的第 5 部分中的一种规范化技术。此外,还有一个单独的贸易版本用于前瞻性测试。 我认为创建类对象是一个非常好的方向。 作为一个对象,在 EA 中同时使用多个不同的感知器变得非常容易,例如用于交易、止损或止盈设置,或者甚至可以创建一个自适应交易策略,使用替代策略来应对平淡市场的趋势。 是的,我知道多个对象会占用大量的训练处理时间。

 
CapeCoddah 交易策略,使用替代策略来应对平淡市场的趋势。 是的,我知道多个对象会占用大量的训练处理时间。

您好。如果您在特定任务上需要帮助,请写信给我,我会尽力提供帮助。 请私信我。

 
优秀文章:非常有教育意义