交易中的机器学习:理论、模型、实践和算法交易 - 页 2952

 
Sergey Golubev #:

您无需在此发布您的 Telegram 订阅。

所以请禁止他们,现在是时候了
,您在这里有业务,而且您很恼火人们写错东西,而不是花精力在 MQL5 环境中开发 MO。
 
Evgeny Dyuka #:
那就禁止他们吧,现在是时候了 您在这里有自己的业务,您对人们写错东西而不是花精力在 MQL5 环境中开发 MO 感到恼火。
你 - 为什么?
我不是在和你争论。不要把气出在自己身上。

,我稍后会删除这个帖子(以及我上面的帖子)。
 
Evgeny Dyuka #:

请允许我提出一个类似的问题。
(这不是关于您的业务,而是专门关于国防部的话题)。

专门针对 MO 的问题:

  • Metatrader 5 交易平台
  • MQL5 语言
  • MQL5 中的矩阵数学
  • 将 Python 集成到终端,包括通信库
  • ONNX 模型集成
  • 用于 GPU 的 OpenCL/DirectX
  • 云网络,包括测试器
  • 11 种语言的www.mql5.com 生态系统

这是一款面向大众的产品,在全球范围内被广泛使用。

想将 与几个抄袭的(机器学习专家常用的)脚本相提并论?

理性一点,不要对那些完成工作并将其公之于众的人妄加评论。

 

我想补充我的五戈比,把苍蝇和肉片分开,无论它们多么有质量,都不能解决苍蝇的问题。

在这条主线上,一部分参与者坚定地认识到,金融市场的主要问题是其非平稳性,而非平稳性问题目前还没有最终的解决方案。关于测试的持续时间、成功交易的时间--所有这些都是空谈,并被实践反复驳斥,毁掉了那些没有认识到非平稳性问题的诺贝尔奖获得者。本网站的信号市场完全证实了非平稳性问题的存在:所有信号都死了,只是有些死得早,有些死得晚。

我们可以区分出两种解决金融市场非平稳性问题 方法:

1.非平稳性建模,尝试在 GARCH 模型的框架内完成,目前已有一百多个 GARCH 模型。

2.试图在非平稳输入流中找到模式,希望这些模式在未来会重复出现。这是在所谓的 "机器学习 "框架下进行的尝试。例如,RandomForest 模型至少能找到 50 种模式,任何时间段都能找到 150 种模式。但下一步可能会改变模式集,因此需要特别努力准备输入数据,以便这些模式即使发生变化,也不会变化很大。

不幸的是,这个话题已经转到了对模型本身的讨论上,不过,根据我的经验,使用模型完全没有问题(Caret shell 包含多达 200 个模型,可任意选择),但存在一个为这些模型准备输入数据的问题。我们不要忘记统计学的主要口号:"垃圾进-垃圾出"。

 
СанСаныч Фоменко #:

我在 PDF 文件中为您重新附上了一份有关公式的综合文本。其中包括 "依赖关系和来源"。

至于计算的细微差别,我不做,因为我确信公式与编程没有任何关系,这是一个独立的问题,由受过其他训练的其他人在其他科学领域解决。

请阅读 PDF。

谢谢,我会看看的。

到目前为止,我在这里找到了问题的直接答案 -https://blog.paperspace.com/gradient-boosting-for-classification/

Gradient Boosting for Classification | Paperspace Blog
Gradient Boosting for Classification | Paperspace Blog
  • blog.paperspace.com
Machine learning algorithms require more than just fitting models and making predictions to improve accuracy. Most winning models in the industry or in competitions have been using Ensemble Techniques or Feature Engineering to perform better. Ensemble techniques in particular have gained popularity because of their ease of use compared to...
 
ONNX 的数据结构 参考似乎不正确。MT 版本 3602。
Документация по MQL5: ONNX модели / Структуры данных
Документация по MQL5: ONNX модели / Структуры данных
  • www.mql5.com
Структуры данных - ONNX модели - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
帮助 中也没有提到 OnnxRun() 的键值。
Документация по MQL5: ONNX модели / OnnxRun
Документация по MQL5: ONNX модели / OnnxRun
  • www.mql5.com
OnnxRun - ONNX модели - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
在 ONNX 帮助中没有关于 OnnxSetInputShape() 和 OnnxSetOutputShape() 函数的信息。它们的作用并不十分明确。
 
Aleksey Nikolayev #:
在 ONNX 帮助中没有关于 OnnxSetInputShape() 和 OnnxSetOutputShape() 函数的信息。它们的作用并不十分明确。


这些方法用于设置模型输入和输出数据的维度。今天,我们将把它们添加到帮助

//+------------------------------------------------------------------+
//|                                        ONNX.Price.Prediction.mq5 |
//|                                  Copyright 2023, MetaQuotes Ltd. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2023, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"

const long  ExtOutputShape[] = {1,1};
const long  ExtInputShape [] = {1,10,4};
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
int OnStart(void)
  {
   matrix rates;
//--- получаем 10 баров
   if(!rates.CopyRates("EURUSD",PERIOD_H1,COPY_RATES_OHLC,2,10))
      return(-1);
//--- на вход модели должен подаваться набор вертикальных векторов OHLC
   matrix x_norm=rates.Transpose();
   vector m=x_norm.Mean(0);               // нормируем цены
   vector s=x_norm.Std(0);
   matrix mm(10,4);
   matrix ms(10,4);

   for(int i=0; i<10; i++)
     {
      mm.Row(m,i);
      ms.Row(s,i);
     }

   x_norm-=mm;
   x_norm/=ms;
//--- создаём модель
   long handle=OnnxCreateFromBuffer(model,ONNX_DEBUG_LOGS);

   if(!OnnxSetInputShape(handle,0,ExtInputShape))
     {
      Print("failed, OnnxSetInputShape error ",GetLastError());
      OnnxRelease(handle);
      return(-1);
     }

   if(!OnnxSetOutputShape(handle,0,ExtOutputShape))
     {
      Print("failed, OnnxSetOutputShape error ",GetLastError());
      OnnxRelease(handle);
      return(-1);
     }
//--- запускаем модель
   matrixf x_normf;
   vectorf y_norm(1);

   x_normf.Assign(x_norm);
   if(!OnnxRun(handle,ONNX_DEBUG_LOGS | ONNX_NO_CONVERSION,x_normf,y_norm))
     {
      Print("failed, OnnxRun error ",GetLastError());
      OnnxRelease(handle);
      return(-1);
     }

   Print(y_norm);
//--- обратно разнормируем цену из выходного значения
   double y_pred=y_norm[0]*s[3]+m[3];

   Print("predicted ",y_pred);
//--- завершили работу
   OnnxRelease(handle);
   return(0);
  }
//+------------------------------------------------------------------+
 
mytarmailS #:
什么意思?
在电脑上我被禁言 10 年,但在手机上我没有被禁言。)

您可能遇到了 "假 IP 禁止":

关于交易、自动交易系统和交易策略测试的论坛

向 mql5.com 网站管理员提问

Sergey Golubev, 2022.12.16 17:22

如果您被禁言了,但您还可以在这里发帖,那就是 "假 IP 禁言"。
您可能有一个动态 IP,它不小心 "掉 "到了别人被禁言的 IP 上。
当我 "抓住 "这样的禁言时,我只是关闭我的电脑,关闭路由器,然后打开路由器,再打开我的电脑。
结果,我的 IP 变了(我也有一个动态 IP),关于 10 年的题词消失了。

...