Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 320

 
Michael Marchukajtes :

<Grafik>

Optimizasyon tarihlerini altı kat düşürürdüm ki optimizer tüm bu grafiklerin sadece ucunu görsün ve yukarıda yazdığım gibi parametrelerdeki ters tarih ile optimize ederdim.

Ardından, bulunan en iyi sonuçları kontrol etmek için testi birkaç aylık veriler üzerinde çalıştırın, tamamen görsel olarak değerlendirin.

 
Michael Marchukajtes :

Mesele şu ki, şimdi NS'den bahsetmiyoruz, ancak Sıra hakkında, aynı çalışma süresinde farklı girdi değerleriyle ne tür bir öz sermayeye sahip olduğuna bakın. Optimize etmedim, sadece ellerimle düzenledim.

5-5

6-6

7-7

Ancak bu durum 4-8 parametresi ile çok daha ilginçtir, periyot aynıdır. Ve 300 piplik stop loss ile çalışın.

Bu, Ocak ayının ilk gününden bu güne kadar. Son ekranın optimize edici tarafından alındığını itiraf ediyorum, peki, optimize edicide sadece 49 geçiş var. Yani, aslında, gerekli parametreleri boyutsuz bir kümeden değil, sonlu bir kümeden ve hatta bu kadar az sayıda seçenekle nasıl doğru bir şekilde seçeceğinizi öğrenmeniz gerekir. Böylece..........


Neden Reshetov'un RNN'sini kullanmıyorsunuz, ama bir sınıflandırıcı? orada ilginç bir mantıksal çekirdeğe sahip ve bot varsayılan olarak kazanmak için yapılabilir

Şimdi böyle bir görev var, bir osilatör ve belirli bir çubuk sayısı için bir gerileme eğimi Ulusal Meclisin girişine uygulamak. Teorik olarak, osilatörler yalnızca bir dairede çalışır ve bir trendde akar. Normalleştirilmiş regresyon eğimi değerleri eklerseniz, ızgara trend eğimini dikkate alacaktır. Burada şu ana kadar puan cinsinden değerlerin derece mi yoksa puan cinsinden mi alınacağını ve ne kadardan ne kadar normalleştirileceğini henüz çözemedim :)

 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);
     }

Ve bu RNN nöronunun kendisidir, elbette çok doğru olmayan sadece 3 osilatör değeri girilir

 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);
  }
 
Maksim Dmitrievski :


Neden Reshetov'un RNN'sini kullanmıyorsunuz, ama bir sınıflandırıcı? orada ilginç bir mantıksal çekirdeğe sahip ve bot varsayılan olarak kazanmak için yapılabilir

Şimdi böyle bir görev var, bir osilatör ve belirli bir çubuk sayısı için bir gerileme eğimi Ulusal Meclisin girişine uygulamak. Teorik olarak, osilatörler yalnızca bir dairede çalışır ve bir trendde akar. Normalleştirilmiş regresyon eğimi değerleri eklerseniz, ızgara trend eğimini dikkate alacaktır. Burada şu ana kadar puan cinsinden değerlerin derece mi yoksa puan cinsinden mi alınacağını ve ne kadardan ne kadar normalleştirileceğini henüz çözemedim :)

Ve bu RNN nöronunun kendisidir, elbette çok doğru olmayan sadece 3 osilatör değeri girilir


İpucu için teşekkürler, bugün kesinlikle verilerimde deneyeceğim.

Lütfen bana nereye sallayacağımı söyle, küstahça bir şey bulamadım. Teşekkür ederim!

 
Michael Marchukajtes :


Bahşiş için teşekkürler, bugün kesinlikle verilerimde deneyeceğim.

Lütfen bana nereye sallayacağımı söyle, küstahça bir şey bulamadım. Teşekkür ederim!

RNN ve RNN3 ve MQL5 üzerine yayınlanmamış makalesi var, ancak boşuna. RNN, optimize edicide RNN3'ten daha iyi performans gösterir.
Dosyalar:
RNN_MT5.zip  223 kb
 
Maksim Dmitrievski :

Ve bu RNN nöronunun kendisidir, elbette çok doğru olmayan sadece 3 osilatör değeri girilir

İlginç kod, teşekkürler. Ve makale için de.


RNN( double p1, double p2, double p3)

p1, p2, p3 parametrelerinin tüm değerleri 0 ile 1 arasında olmalıdır. Regresyondaki B değeri bu parametrelerden birine iletilirse, aynı aralık [0;1] ile normalleştirilmelidir.


Genel olarak bu strateji, yüksek bir RSI değerinin fiyatın bir anda düşeceği anlamına geldiği teorisine dayanmaktadır. Tahminin doğruluğu için üç RSI değeri alınır ve bazı olasılık teorisi kurallarına göre üç parametreden bir tahmin elde edilir.
Yani üçüncü RSI yerine kendi sinyalinizi verirseniz, bu sinyalin yüksek değeri fiyatın bir anda düşeceği anlamına gelmelidir. Aksi takdirde stratejiyi bozarsınız.

 
Dr. tüccar :

İlginç kod, teşekkürler. Ve makale için de.

B'nin regresyondaki değeri bu parametrelerden birine aktarılırsa, aynı [0;1] aralığına normalize edilmelidir.


Evet bu doğru. Büyüyen bir pazarda satın almasını ve düşen bir pazarda satmasını istiyorsak, sadece regresyon değerlerini çevirmemiz gerekir, çünkü nöron çıkışında olasılık <0.5 ise satın alır, rsi ise sıfır eğiliminde olmalıdır, ve regresyon da <0.5'e düşecek, ancak >0.5 büyümesi gerekiyor
 
Dr. tüccar :

Genel olarak bu strateji, yüksek bir RSI değerinin fiyatın bir anda düşeceği anlamına geldiği teorisine dayanmaktadır. Tahminin doğruluğu için üç RSI değeri alınır ve bazı olasılık teorisi kurallarına göre üç parametreden bir tahmin elde edilir.
Yani üçüncü RSI yerine kendi sinyalinizi verirseniz, bu sinyalin yüksek değeri fiyatın bir anda düşeceği anlamına gelmelidir. Aksi takdirde stratejiyi bozarsınız.


Evet aynen yukarıda yazdım :)

İzlemeye alınan m5 için optimize edilmiş varsayılan ızgara https://www.mql5.com/ru/signals/297732

sonra nöron için farklı girdilerle deney yapacağım

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

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

sadece kodda bir tür hata var, bence gösterge yanlış normalleştirildi

Наклон линейной регрессии
Наклон линейной регрессии
  • oylar: 24
  • 2010.07.05
  • Vladimir
  • www.mql5.com
Наклон линейной регрессии, нормализованный к SMA
 
Maksim Dmitrievski :
RNN ve RNN3 ve MQL5 üzerine yayınlanmamış makalesi var, ancak boşuna. RNN, optimize edicide RNN3'ten daha iyi performans gösterir.


Teşekkürler!!! Tabii ki ilk beşte olmam üzücü, ama yine de verilerimle bükülmeye çalışacağım ....

 
Michael Marchukajtes :


Teşekkürler!!! Tabii ki ilk beşte olmam üzücü, ama yine de verilerimle bükülmeye çalışacağım ....


5-ke'de uygundur çünkü ileriye dönük testler yapabilirsiniz, bu sadece NS için olan şeydir ve 4-ki için kod tabanında aynıydı, bence, eğer ararsanız

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

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