文章 "一个基于新指标和条件长短期记忆网络(LSTM)的实例"

 

新文章 一个基于新指标和条件长短期记忆网络(LSTM)的实例已发布:

本文探讨了一种用于自动化交易的EA的开发,该EA结合了技术分析和深度学习预测。

技术指标长期以来一直被金融行业用来发现趋势和潜在的交易机会。尽管这些指标很重要,但它们常常无法完全捕捉市场动态的复杂性,特别是在极端波动或急剧变化的时期。然而,深度学习架构,特别是LSTM,已经在处理复杂的时间序列数据的模式识别和预测方面展现出惊人的潜力。然而,这些模型并不总是像传统技术分析那样提供可解释性和特定领域的知识。

我们的策略旨在通过结合这两种方法的优势来弥合这一差距。本文介绍了一种名为波动率调整动量(VAM)指标的新工具,它试图在考虑潜在波动率的同时衡量市场动量。与传统动量指标相比,这为市场动态提供了更细致的图景。VAM旨在通过考虑波动率,在从平静到动荡的各种市场情境中提供更可靠的信号。


作者:Javier Santiago Gaston De Iriarte Cabrera

 
这套系统运行得非常好,到目前为止,它已打开了 10 多个盈利点,并且全部命中了 TP,但我想知道您是否有一套能在较低 TF 值下运行的系统。
 

请指导我把文件放在哪里。

我已经把文件放在了 C:\Users\anilh\AppData\Roaming\MetaQuotes\Terminal\73B7A2420D6397DFF9014A20F1201F97\MQL5\Files 文件夹中

以及 C:\Users\anilh\AppData\Roaming\MetaQuotes\Terminal\Common\Files 文件夹中的

.onnx文件,并得到以下错误信息

未找到资源文件 '/Files/stock_prediction_model_MACD.onnx' IC_009_EA_ONNX_045_Final.mq5

resource file 'C:\Users\anilh\AppData\Roaming\MetaQuotes\Terminal\73B7A2420D6397DFF9014A20F1201F97\MQL5\Files\stock_prediction_model_MACD.onnx' not found (2) IC_009_EA_ONNX_045_Final.mq5

谢谢
 
Arber Coku #:
这个方法效果很好,到现在为止,它已经打开了 10 多个盈利点,而且全部命中了 TP,但我想知道您是否有一套在较低 TF 下也能使用的方法。

我有一个问题......为了制作模型,我使用了 python colab 和一个我叫不出名字的 websearcher 提供的数据......与其使用 python colab,你可以使用 python 并在你的笔记本电脑中制作模型(你应该制作一个新的 py 脚本)....。我这么说是因为,我从 .com 获得的数据可能与 1 天的数据相似(与我们的经纪商相比)......但如果你使用较小的时间段,你可能想使用 mt5 数据(你的经纪商与 mt5 的数据)......(有些经纪商有不同的数据)。

我能理解吗?

是的,请在较低的时间段内自由尝试,并分享结果!

 
Anil Varma #:

请指导我们如何放置文件。

我已经把文件放在了 C:\Users\anilh\AppData\Roaming\MetaQuotes\Terminal\73B7A2420D6397DFF9014A20F1201F97\MQL5\Files 文件夹中。

以及 C:\Users\anilh\AppData\Roaming\MetaQuotes\Terminal\Common\Files 文件夹中的文件

.onnx文件,并出现以下错误

未找到资源文件 '/Files/stock_prediction_model_MACD.onnx' IC_009_EA_ONNX_045_Final.mq5

资源文件 'C:\Users\anilh\AppData\Roaming\MetaQuotes\Terminal\73B7A2420D6397DFF9014A20F1201F97\MQL5\Files\stock_prediction_model_MACD.onnx' 未找到 (2) IC_009_EA_ONNX_045_Final.mq5

谢谢

你好,阿尼尔!

onnx 模型必须放在您的 Files 文件夹中(MQL5 -> Files)......或您想要的位置(in inside mql5/files/),只需更改路径(您不必指定所有路径,只需从\Files/......)

 
Arber Coku #:
这套方法效果很好,到现在为止,它已打开了 10 多个盈利点,并且全部命中了 TP,但我想知道您是否有一套在较低 TF 值下也能使用的方法。

记住!

深度学习模型在 30 到 90 个时间段内都能正常工作。

好好交易)

 
Javier Santiago Gaston De Iriarte Cabrera #:

我有一个问题......为了制作模型,我使用了 python colab 和一个我叫不出名字的 websearcher 提供的数据......与其使用 python colab,您可以使用 python 并在您的笔记本电脑中制作模型(您应该制作一个新的 py 脚本)....。我这么说是因为,我从 .com 获得的数据可能与 1 天的数据相似(与我们的经纪商相比)......但如果你使用较小的时间段,你可能想使用 mt5 数据(你的经纪商与 mt5 的数据)......(有些经纪商有不同的数据)。

我能理解吗?

是的,请在较低的时间段内自由尝试,并分享结果!

好的,我会尝试制作一个新的模型,但从一些研究人员那里我看到,至少每 6 个月进行一次更改是很好的。我会首先在 mt5 和 onnx 模型上使用不同的输入进行回溯测试,然后再使用您设置的值。输入是完美的,但我今天看到 tp 和 sl 必须根据经纪人进行调整。谢谢!
 
Javier Santiago Gaston De Iriarte Cabrera #:

嗨,阿尼尔!

onnx 模型必须放在您的 Files 文件夹中(MQL5 -> Files)......或您想要的位置(in inside mql5\files\ ),只需更改路径(您不必指定所有路径,只需从\Files\......开始)。

嗨,哈维尔

感谢您的回复。

我发现了问题所在。您在 EA 中将其命名为 "stock_prediction_model_MACD.onnx",但压缩文件却将其命名为stock_prediction_model_MACD_Signal.onnx

我还注意到代码中指标句柄使用不当(错误!!!)。您使用了

double volatility = iMA(NULL, 0, volatility_period, 0, MODE_SMA, PRICE_CLOSE);
double atr = iATR(_Symbol,PERIOD_CURRENT,14)*_Point;
double volatility = iStdDev(_Symbol, PERIOD_CURRENT, volatility_period, 0, MODE_SMA, PRICE_CLOSE);

在 MQL5 中,指标值通过 CopyBuffer 和指标句柄得出,您在

   int macd_handle2 = iMACD(_Symbol, PERIOD_CURRENT, 12, 26, 9, PRICE_CLOSE);
   CopyBuffer(macd_handle2, 0, 0, 1, macd_main2);
请详细说明为什么在第一种情况下使用不同的句柄和双变量来获取值?




 
Anil Varma #:
double volatility =iStdDev(_Symbol,PERIOD_CURRENT, volatility_period,0,MODE_SMA,PRICE_CLOSE);
如果我们使用 ma,那么我们只能看到趋势。
 
Arber Coku #:
好吧,我会尝试制作一个新模型,但从一些研究人员那里我看到,至少每 6 个月进行一次更改是有好处的。我会首先在 mt5 和 onnx 模型上使用不同的输入进行回溯测试,然后再使用您设置的值。输入是完美的,但我今天看到 tp 和 sl 必须根据经纪人进行调整。谢谢!

你好,问得好。

每 6 个月制作一个新模型是不错的(如果您使用的是 1d 时间段),有趣的是,制作一个具有某种指数或线性权重的模型(因此最后一个值的权重更大......)。我正在研究这个问题,我将推出一篇相关文章),在这种情况下,是的,您应该更频繁地使用模型。是的,6 个月在日内交易中取得了很好的结果,但这与 3 个月没有太大区别。为最后值提供等待时间更有意思,因为一个模型通常有 1 万根最后蜡烛...我会在这方面下功夫,并推送一篇文章。

 
Arber Coku #:
我认为该 EA 的目的是打开基于波动的仓位,现在需要噪音,如果我们使用 ma,那么我们只能看到趋势。

这篇文章的目的是让大家知道,我们也可以用指标建立条件 LSTM 模型,同样可以取得如图所示的好结果......VAM 是为了让大家知道,指标并不是那么难以创建。