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

 
Mihail Marchukajtes:

<图>。

我会把优化日期缩短6倍,这样优化器只看到所有这些图形的尖端,并按照我上面写的参数中的滚动日期进行优化。

然后为了检查已经发现的最佳结果,在几个月的数据上运行测试,纯粹的视觉评估。

 
Mihail Marchukajtes:

关键是,我们不是在谈论NS,而是在谈论Sequent,所以看看它在同一工作时期不同输入值的公平性。我没有优化它,我只是用手去看了看。

5-5

6-6

7-7

这个案例与4-8,同一时期,更加有趣。而且,它在300点的止损下是有效的。

这是从1月1日开始到现在。我承认,我选择了优化器的最后一个屏幕,嗯,优化器中只有49个通道。因此,事实上,我必须学会正确地选择必要的参数,而不是从无维度的集合中,而是从具有如此少量变体的有限集合中。So..........


你为什么不使用Reshetov的RNN但分类器呢? 它有一个有趣的逻辑核心在那里,而且机器人可以在默认情况下工作

现在有这样一项任务,用振荡器和回归斜率给NS的输入提供一定数量的条形图。从理论上讲,振荡器只在平坦的地方起作用,而且是在趋势中倾泻。如果我们加入回归斜率的归一化值,网格将考虑到趋势的斜率。在这里,我还没有决定是以度还是以点取值。 目前是以点取值,以及从多少点到多少点进行归一化 :)

double CalcRegression(double &PricesArray[])
     {
      double Summ_x=0.0;
      double Summ_y=0.0;
      double Summ_xy=0.0;
      double Summ_x_2=0.0;
      int jcount;
      for(int xcount=1; xcount<=глубина_анализа && !IsStopped(); xcount++)
        {
         jcount=глубина_анализа-xcount;
         Summ_x+=xcount;
         Summ_y+=PricesArray[jcount];
         Summ_xy+=xcount*PricesArray[jcount];
         Summ_x_2+=MathPow(xcount,2);
        }

      double bcoef=(глубина_анализа*Summ_xy-Summ_x*Summ_y)/(глубина_анализа*Summ_x_2-MathPow(Summ_x,2));  
      return(bcoef);
     }

而这是RNN神经元本身;只有3个振荡器的值被送入输入,这当然不是很正确

double RNN(double p1,double p2,double p3)
  {
//--- вероятности для правил из базы знаний экспертной системы
   double y0 = x0; // Вероятность правила №0 в процентах
   double y1 = x1; // Вероятность правила №1 в процентах
   double y2 = x2; // Вероятность правила №2 в процентах
   double y3 = x3; // Вероятность правила №3 в процентах
   double y4 = x4; // Вероятность правила №4 в процентах
   double y5 = x5; // Вероятность правила №5 в процентах
   double y6 = x6; // Вероятность правила №6 в процентах
   double y7 = x7; // Вероятность правила №7 в процентах

//--- база знаний, состоящая из набора взаимоисключающих правил
   double probability=
                      (1.0 - p1) * (1.0 - p2) * (1.0 - p3) * y0 + // Правило №0
                      (1.0 - p1) * (1.0 - p2) * p3 * y1 +         // Правило №1
                      (1.0 - p1) * p2 * (1.0 - p3) * y2 +         // Правило №2
                      (1.0 - p1) * p2 * p3 * y3 +                 // Правило №3
                      p1 * (1.0 - p2) * (1.0 - p3) * y4 +         // Правило №4
                      p1 * (1.0 - p2) * p3 * y5 +                 // Правило №5
                      p1 * p2 * (1.0 - p3) * y6 +                 // Правило №6
                      p1 * p2 * p3 * y7;                          // Правило №7

//--- конвертируем проценты в вероятности 
   probability=probability/100.0;

//--- возвращаем результат в виде вероятности
   return(probability);
  }
 
马克西姆-德米特里耶夫斯基


你为什么不使用Reshetov的RNN? 它有一个有趣的逻辑引擎,你可以让机器人在默认情况下工作

理论上讲,震荡器只在平盘中起作用,而在趋势中则是倾泻而下。从理论上讲,振荡器只在平坦处起作用,而在趋势中则是倾泻而下。如果我们加入回归斜率的归一化值,网格将考虑到趋势的斜率。在这里,我还没有决定是以度还是以点取值。 目前是以点取值,以及从多少点到多少点进行归一化 :)

而这是RNN神经元本身--只有3个振荡器的值被输入到它,这不是很正确。


谢谢你的提示,我今天一定会在我的数据上试试。

请告诉我在哪里可以得到它,我不能贸然地找到它。我四处打听也找不到。

 
Mihail Marchukajtes:


谢谢你的提示,我今天一定会在我的数据上试试。

请告诉我从哪里下载,我找不到。谢谢你!

有RNN和RN3以及它在MQL5中未发表的文章,但这是没有用的。在优化器中,RNN比RNN3效果更好。
附加的文件:
RNN_MT5.zip  223 kb
 
马克西姆-德米特里耶夫斯基

而这是RNN神经元本身,只有3个振荡器的值被输入,当然这不是很正确的。

有趣的代码,谢谢。也是为了这篇文章。


RNN(double p1,double p2,double p3)

所有参数p1、p2、p3的值都应该在0到1之间。如果你从回归中传递B到这些参数之一,请确保将其归一化到同一区间[0;1]。


一般来说,这种策略是基于高RSI值意味着价格即将下跌的理论。为了准确起见,我们取了三个RSI值,根据概率论的规则,我们从三个参数中得到一个估计值。
所以,如果你不给第三个RSI,而是给你自己的信号,那么这个信号的高值一定意味着价格会下跌。否则你会破坏战略。

 
交易员博士

有趣的代码,谢谢。也是为了这篇文章。

如果你把回归中的B值传给这些参数之一,它必须被归一化到同一个区间[0;1]。


是的,这是正确的。如果我们想让它在上涨的市场上买入,在下跌的市场上卖出,只有我们应该反转回归值,因为如果神经元输出的概率<0.5,它就会买入,而rsi应该趋于零,当<0.5时回归也会下降,而我希望它增长>0.5
 
交易员博士

一般来说,这种策略是基于高RSI值意味着价格将下跌的理论。为了做出准确的预测,我们取了三个RSI值,所以根据概率论,我们从三个参数中得到相同的估计。
所以,如果你不给第三个RSI,而是给你自己的信号,那么这个信号的高值一定意味着价格会下跌。否则你会破坏战略。


是的,没错,我刚刚在上面写了 :)

在M5上优化的默认网格,放入监控https://www.mql5.com/ru/signals/297732

然后我将对神经元的不同输入进行更多实验

Торговые сигналы для MetaTrader 5: NEUROSHELL test
Торговые сигналы для MetaTrader 5: NEUROSHELL test
  • Maxim Dmitrievsky
  • www.mql5.com
Торговый Сигнал NEUROSHELL test для MetaTrader 5: копирование сделок, мониторинг счета, автоматическое исполнение сигналов и социальный трейдинг
 

https://www.mql5.com/ru/code/127

只是代码中有一个错误,我认为指标的配给是不正确的。

Наклон линейной регрессии
Наклон линейной регрессии
  • 投票: 24
  • 2010.07.05
  • Vladimir
  • www.mql5.com
Наклон линейной регрессии, нормализованный к SMA
 
马克西姆-德米特里耶夫斯基
有RNN和RN3以及其在MQL5中未发表的文章。在优化器中,RNN比RNN3效果更好。


谢谢!!!。很遗憾是5分,但我要用我的数据试试,反正....

 
Mihail Marchukajtes:


谢谢!!!。遗憾的是,它是一个5,但我会用我的数据试试,反正....。


5版本很方便,因为你可以做正向测试,这对NS来说是正确的,对于4版本来说,同样的事情,在我看来,是在代码库中,如果你看看

https://www.mql5.com/ru/code/10616

RNN_MT4
RNN_MT4
  • 投票: 2
  • 2012.02.20
  • Yury Reshetov
  • www.mql5.com
Советник со встроенной экспертной системой
原因: