Bu kaosun bir düzeni var mı? Hadi bulmaya çalışalım! Belirli bir örnek üzerinde makine öğrenimi. - sayfa 25

 
Forester #:

TP=SL'de yaklaşık %50 olacaktır. TP = 2 * SL'de% 33 olacaktır, vb.
Her zaman 1 işlemden elde edilen ortalama kar çok küçüktür. Yaklaşık 0,00005. Ancak, öğretmenin işaretlemesinde dikkate alınmayan spread, slippage, swap için harcanacaktır (spread dikkate alınır, ancak çubuk başına minimum, gerçek olan daha yüksek olacaktır).
Ve bu TP = SL = 0,00400 kullanarak. Yani 400 riskle 5 pts kar elde ederiz, yani% 1 avantaj.
50 pts hareketinden en az 10 pts almak istiyorum, ancak orada tüm seçenekler erik.

Ama bunların hepsi benim çiplerim ve hedeflerimle. Belki daha iyi seçenekler vardır.

Bu strateji, 2008'den 2023'e kadar EURUSD'de 61,8 TP/SL oranıyla %43 karlı işlem sağlar ve karlı işlemlerin %39'u başabaş için yeterlidir. Rakamları henüz kontrol etmedim, bir yerlerde yanılıyor olabilirim ve bunlar elbette ideal koşullar. Ancak, burada bir öğrenme perspektifi var, bu da MO pahasına daha yüksek bir yüzde çıkarabileceğiniz anlamına geliyor.

Tahmin edicilerle ilgili olarak, tahmin edicilerimi makalemden mi aldınız? Diğerlerinin yanı sıra sahip olduğum modellerde sıklıkla bulunurlar .

Eklendi: Evet, karlı işlemler olduğunu, ancak TP tarafından kapatılmadığını ve elbette daha az kar olacağını hesaba katmadım.
 
Aleksey Vyazmikin #:

Bu strateji, ideal koşullarda 61,8 TP / SL oranı ile 2008'den 2023'e kadar EURUSD'de% 43 karlı işlem sağlar ve karlı işlemlerin% 39'u başabaş için yeterlidir. Rakamları henüz kontrol etmedim, bir yerlerde yanılıyor olabilirim ve bunlar elbette ideal koşullar. Bununla birlikte, burada bir öğrenme perspektifi var, bu da MO pahasına daha yüksek bir yüzdeyi çekebileceğiniz anlamına geliyor.

Tahmin edicilerle ilgili olarak, tahmin edicilerimi makalemden mi aldınız? Diğerlerinin yanı sıra sahip olduğum modellerde de sıklıkla bulunurlar .

Stratejinizin ne olduğundan pek emin değilim. Günde bir kez girmek için bir sinyal alıyorsunuz gibi görünüyor. Sonuçların istatistiksel önemi hakkında konuşmanın çok az olduğunu düşünüyorum.
5000'den fazla tahmincinizi veri kümeniz üzerinde eğittim. Aynı 5 puandan fazlasını vermiyorlar, bu yüzden 5 puan da veren basit fiyat deltalarımdan ve zikzaklarımdan daha iyi olmadıklarını düşünüyorum.
Şimdilik diğer fikirleri kontrol edeceğim. Hiçbir şey vermezlerse, kendi modelimi oluşturmak için tahmin edicilerinizi deneyeceğim.

 
Forester #:

Stratejinizin ne olduğunu gerçekten anlamıyorum. Günde bir kez girmek için bir sinyal gibi görünüyor.

Strateji aşağıdaki gibidir:

Günün açılışında beklenen fiyat hareketi limit aralığını hesaplıyoruz, bu amaçla son günün sonunda ATR(3) kullanabiliriz, ben biraz farklı bir formül kullanıyorum. Bu aralığı mevcut günün (bar) açılışının başlangıcından itibaren erteliyoruz -% 100 olarak kabul ediyoruz.

Açılışın üstünde / altında önemli bir seviyeye ulaştığımızda (gözlemlerime göre farklı enstrümanlarda sıklıkla böyle olduğu için 23.6'da durdum), bir sonraki önemli seviyede TP ile bir pozisyon açıyoruz (61.8 kullanıyorum) ve SL'yi günün açılış fiyatına koyuyoruz.

Kar alarak kapattıysak, bir sinyal göründüğünde tekrar gireriz.

Çıkışlar işe yaramadıysa gün sonunda (23:45) kapatmak daha iyidir, ancak aslında TP / SL'yi bekliyorum.

Şimdi ilk işaretleme şu şekilde çalışır - eğer karda kapattıysak 1, zararda kapattıysak -1 koyarız.

Örneği bölerken, hedefi 300 pip ile dengeledim, bu nedenle kar 300 pipten azsa sıfırdır.

   if(N_Siganal==10)//сейчас работает на открытие позиции при пересечении +23,6/-23,6 iDelta D1
   {
      if(CountMarketOrder_OS==0 && CountMarketOrder_OB==0)
      {
         double Open=iOpen(Symbol(),PERIOD_CURRENT,0);
         double Open_S1=iOpen(Symbol(),PERIOD_CURRENT,1);
         double iDelta=iDeltaf(Symbol(),PERIOD_D1,3,1,0);
         double Open_Day=iOpen(Symbol(),PERIOD_D1,0);
         double iD_Day_Up=0.0;
         double iD_Day_Dn=0.0;
         bool Signal_Buy=false;
         bool Signal_Sell=false;

            iD_Day_Up=Open_Day+iDelta;
            iD_Day_Dn=Open_Day-iDelta;

            if(Open_S1<=iD_Day_Up && Open>iD_Day_Up)Signal_Buy=true;
            if(Open_S1>=iD_Day_Dn && Open<iD_Day_Dn)Signal_Sell=true;
            if(Signal_Buy==true || Signal_Sell==true)break;


         if(Signal_Buy==true || Signal_Sell==true)
         {
            Print("Основной сигнал:"," T_Zero=",TimeToString(T_Zero,TIME_DATE|TIME_MINUTES)," T_Signal=",TimeToString(T_Signal,TIME_DATE|TIME_MINUTES));
            if(T_Zero<T_Signal)
            {
               Signal_Buy=false;
               Signal_Sell=false;
               Print("Блокировка T_Zero<T_Signal - открыта виртуальная позиция");
            }
            else
            {
               if(Signal_Sell==true)SellNow=true;
               if(Signal_Buy==true)BuyNow=true;
            }
         }
      }
   }
Forester #:

Sonuçların istatistiksel anlamlılığı hakkında konuşmak için bunun çok az olduğunu düşünüyorum.

Verileri 2008'den aldım. Evet, çok fazla veri yok, ancak bu nasıl baktığınıza bağlı, çünkü 23,6 seviyesinin rastgele olmadığını ve geçişinin piyasa için önemli olduğunu düşünürseniz, o zaman her çubukta girişler oluştururken durumun aksine, birbirleriyle karşılaştırılabilecek benzer olaylar gibi olacaktır - sadece öğrenmeyi zorlaştıran birçok benzer olay vardır.

Bu yüzden bu şekilde eğitim almanın mantıklı olduğunu düşünüyorum, ancak piyasa katılımcılarının kararını etkileyen olaylar farklı stratejilerde farklı olmalıdır. Ve daha fazla model seti ticareti.

Forester #:

5000+ tahmincinizi veri setiniz üzerinde eğittim. Aynı 5 puandan fazlasını vermiyorlar, bu yüzden 5 puan veren basit fiyat deltalarımdan ve zikzaklarımdan daha iyi olmadıklarını düşünüyorum.
Şimdilik diğer fikirleri kontrol edeceğim. Hiçbir şey vermezlerse, kendi modelimi oluşturmak için tahmin edicilerinizi deneyeceğim.

İlk örnekten mi yoksa ikinci örnekten mi bahsediyorsunuz? Eğer ilk örnek ise, iyi varyantlar için yaklaşık 30 puanlık bir beklenti matrisim vardı.

Elbette yüklerseniz, örneğinizi CatBoost üzerinde eğitmeyi deneyebilirim.

 
Aleksey Vyazmikin #:

İşte strateji:

Günün açılışında beklenen fiyat hareketi sınır aralığını hesaplıyoruz, bu amaçla son günün sonunda ATR(3) kullanabiliriz, ben biraz farklı bir formül kullanıyorum. Bu aralığı mevcut günün (bar) açılışının başlangıcından itibaren erteliyoruz - bunu% 100 olarak kabul ediyoruz.

Açılışın üstünde/altında önemli bir seviyeye ulaştığımızda (gözlemlerime göre farklı enstrümanlarda sıklıkla böyle olduğu için 23.6'da durdum), bir sonraki önemli seviyede TP ile bir pozisyon açıyoruz (61.8 kullanıyorum) ve SL'yi günün açılış fiyatına koyuyoruz.

Kâr alarak kapattıysak, bir sinyal göründüğünde tekrar gireriz.

Çıkışlar işe yaramadıysa gün sonunda (23:45) kapatmak daha iyidir, ancak aslında şimdi TP / SL'yi bekliyorum.

Şimdi ilk biçimlendirme şu şekilde çalışır - eğer kârla kapattıysak 1, zararla kapattıysak -1 koyarız.

Örneği bölerken, hedefi 300 pip ile dengeledim, bu nedenle kar 300 pipten azsa sıfırdır.

2008'den veri aldım. Evet, çok fazla veri yok, ancak bu nasıl baktığınıza bağlı, çünkü 23,6 seviyesinin tesadüfi olmadığını ve geçişinin piyasa için önemli olduğunu düşünürsek, bunlar birbirleriyle karşılaştırılabilecek benzer olaylardır.

Şimdi hedef aşağı yukarı belli.
Sonuç hakkında pip cinsinden bir tahmininiz var mı yoksa sadece kazanç/kayıp mı? İkincisi gibi görünüyor. Pts cinsinden tahmin etmek daha iyidir.

Böylece %75 veren model aslında 50/50 çalışmaz.

Aleksey Vyazmikin #:
girdilerin her çubukta oluşturulduğu durumdan farklı olarak - bu tür birçok olay vardır ve bu sadece öğrenmeyi zorlaştırır.

İnceltme eklemek istiyorum - benzer çubuklar, eğer fiyat 100... 1000 pts gitmediyse, o zaman atlayın.

Aleksey Vyazmikin #:

İlk örnekten mi yoksa ikinci örnekten mi bahsediyorsunuz? İlkinden bahsediyorsanız, iyi varyantlar için yaklaşık 30 piplik bir beklenti matrisim vardı.

İkincisi H1'de. İlki daha iyi değildi (ama daha az araştırdım, örneğin özellikleri seçmedim).

Aleksey Vyazmikin #:

Elbette yüklerseniz, örneğinizi CatBoost üzerinde eğitmeyi deneyebilirim.

Bende yüzlercesi var. Ve hiçbirini takasa koymayı sevmiyorum. TP veya SL'yi ya da başka bir şeyi değiştiriyorum - bu yeni bir varyant. Yani bir anlamı yok.

 
Forester #:

Şimdi hedef aşağı yukarı belli oldu.
Puan olarak mı yoksa sadece kazanç/kayıp olarak mı bir tahmininiz var? İkincisi gibi görünüyor. Puan olarak tahmin etmek daha iyi.

Yani %75'lik bir model gerçekten yarı yarıya çalışmıyor.

Para olarak bir değerlemem var :) Artı hedef, eskiden olduğu gibi. Daha fazla puan istiyorsanız, hedef daha sonra taşınabilir.

Belirli stratejide artık her şey kar elde ediyor. Hesaplanmış bir lot yaptım, aslında spread'in oranı önemli ölçüde kötüleştirdiği ortaya çıktı, ancak sorun değil, ancak süper karlı girişlerin emisyonu olmadan istikrar olacak - risk neredeyse her yerde aynı. Daha sonra duraklamaları kullanırsanız, sonucu iyileştirebileceksiniz.

Forester #:

İnceltme eklemek istiyorum - benzer çubuklar, eğer fiyat 100...1000 pts gitmediyse, o zaman atlayın.

Ve sonra her çubuk üzerinde değerlendirmek, iyi model uygulamak?

Forester #:

H1'deki ikincisi. İlki daha iyi değildi, (ama daha az araştırdım, örneğin cips seçmedim).

Bende yüzlercesi var. Ve hiçbirini takasa koymayı sevmiyorum. TP veya SL'yi veya başka bir şeyi değiştiriyorum - bu yeni bir varyant. Yani bir anlamı yok.

Demek istediğim, bir örneklem oluşturmak için aynı algoritma varsa, tahmin edicileri karşılaştırmak mümkün olacaktır.

 
Aleksey Vyazmikin #:

Ve sonra her bir barda uygulanacak modeli tahmin etmek için?

Evet, eğitimde olduğu gibi en az XX pip geçtiyse. Ancak bozulmalar olacaktır - yukarı ve 999-979 (899-979) daha sık çalışacaksa, yalnızca 100 ila 120 (200-220, vb.) Arasındaki ilk çubuklar.

Aleksey Vyazmikin #:
Demek istediğim, bir örnek oluşturmak için aynı algoritma varsa, tahmin edicileri karşılaştırmak mümkün olacaktır.


Gerçekten 5000+ istemiyorum, saymak uzun zaman alacaktır. Ancak önemli tahmin ediciler için bir arama olarak bunları kontrol etmek gerekli olabilir.

 

İyi günler!

Bu sorunu çözebilecek bir yaklaşımım var, ancak tercihen örnek dosyalar tahmin ediciler olmadan olmalıdır. Yani 5000'den fazla tahmin ediciye ihtiyaç yoktur, sadece hareket grafiğinin kendisine ihtiyaç vardır. OHLC'den oluşması veya tek değişkenli olması önemli değil. Bununla birlikte, mevcut yöntemi örnekten bir değişken üzerinde, yani D(i)=D(i-1)+ Target_100_Buy formülünü kullanarak bir grafiğe dönüştürdüğüm 5584 sütununda denedim. Her üç dosya için de bu grafikleri elde ettim:

1) eğitim:

2)test:

3)sınav:

Doğru yapıp yapmadığımı bilmiyorum, ancak topikstarter tahminciler olmadan yeni örnekler yaparsa, yöntemi yeni veriler üzerinde test edeceğim ve size yaklaşım hakkında bilgi vereceğim.

Peki, ve sinir ağları komitesini eğittikten sonra örneklerin her biri için gerçek kar (toplamda 10 tane var). Kâr, spread=0 ve komisyon=0 olacak şekilde puan sayısı olarak ifade edilir:

1) eğitmek:

2) test:

3) sınav:


60000+ pip sonucunun oldukça kabul edilebilir olduğunu düşünüyorum.

Topikstarter'a sadece en "kaotik" sinyalden yeni örnekler yapmasını öneririm.

Yöntem yeni sinyale uygulanacak ve sonuçlar gösterilecek, ayrıca yaklaşım bir dereceye kadar açıklanacaktır.


Saygılarımla, RomFil!


Not: Gelecek bilinmez, ancak onu kontrol etmek için her zaman bir yöntem bulunabilir ... :)

 
RomFil #:

İyi günler!

Bu sorunu çözebilecek bir yaklaşımım var, ancak tercihen örnek dosyalar tahmin ediciler olmadan olmalıdır. Yani 5000'den fazla tahmin ediciye ihtiyaç yoktur, sadece hareket grafiğinin kendisine ihtiyaç vardır. OHLC'den oluşması veya tek değişkenli olması önemli değil. Bununla birlikte, mevcut yöntemi örnekten bir değişken üzerinde, yani D(i)=D(i-1)+ Target_100_Buy formülünü kullanarak bir grafiğe dönüştürdüğüm 5584 sütununda denedim. Her üç dosya için de grafikler aşağıdaki gibidir:

Ne yaptığınızı ve yaklaşımınız saf fiyatlarla çalışıyorsa neden yeni bir örneğe ihtiyaç duyulduğunu anlamıyorum.

Aşağıdaki listedeki sütunlar gerçekleşen olayın sonucudur, yani eğitime katılmamaları gerekir. En fazla 5582 - ama orada tahmin etmenin kolay olduğunu düşünüyorum, bu yüzden model tarafından olduğu gibi kurtarılacaktır.

5581 Yardımcı

5582 Yardımcı

5583 Etiket

5584 Yardımcı

5585 Yardımcı

 
Aleksey Vyazmikin #:

Ne yaptığınızı ve yaklaşımınız saf fiyatlarla çalışıyorsa neden yeni bir örneğe ihtiyaç duyulduğunu anlamıyorum.

Aşağıdaki listedeki sütunlar gerçekleşen bir olayın sonucudur, yani eğitime katılmamaları gerekir. En fazla 5582 - ama tahmin etmenin kolay olduğunu düşünüyorum, bu yüzden model tarafından kurtarılacaktır.

5581 Yardımcı

5582 Yardımcı

5583 Etiket

5584 Yardımcı

5585 Yardımcı

"Ne yaptım ben?":

Örnek tren yaklaşık 1 GB boyutundadır. Çalışma alanına yüklenmesi oldukça uzun sürüyor. 24GB RAM ve hızlı bir SSD'ye sahip bir i5-3570'im var ve Excel'in bu dosyayı açması birkaç dakika sürüyor. Bu yüzden kısaltılması gerektiğine karar verdim. 5000'den fazla sütun için üst simgeleri bulmaya çok tembeldim. 5584 5586 sütununu aldım ve tüm satırlara bir sinyal uyguladım, örneğin AL (dürüst olmak gerekirse, hangisini hatırlamıyorum, belki SAT). Böylece bu sütun yukarıdaki formüle göre bir grafik oluşturdu. Yani ilk adım sıfırdı, sonra 0.00007, sonra 0.00007-0.00002=0.00005, sonra 0.00005+0.00007=0.00012, vb. Yani 5584 5586 sütunundan bağlayıcılığı olmayan bir hareket grafiği, tabiri caizse göreceli bir hareket grafiği oluşturdum. Sanki bir Kapanış grafiği gibi, yani grafiğin her adımının sonunda varlığın fiyatı ilgili değer kadar değişir.

Not: Sütun numarası konusunda hile yaptım ... SAT sinyali ile en son 5586'yı (Excel'de baktım) aldım.

"... neden yeni bir örnek":

Örneğindeki yaklaşım hakkında belirli bir miktarda göstermek ve anlatmak için. OHLC veya sadece Clause fiyatlarını alabileceğiniz sütunların sayısını söylerseniz, yeterli olacaktır.

Geri kalanı hakkında:

Örnek dosyalardaki veriler hiç kullanılmamıştır. Her dosyadan 5584 5586 sütunları temelinde, yukarıda açıklandığı gibi bir grafik yapılır. Ve yaklaşım zaten bu elde edilen grafiklere uygulanmaktadır.

Topikstarter yeni örnekler vermek istemediğinden, ilgilenen herkesin kendi örneklerini göndermesini öneririm ... :)

Saygılarımla, RomFil!

 
RomFil #:

İyi günler!

Bu sorunu çözebilecek bir yaklaşımım var, ancak tercihen örnek dosyalar tahmin ediciler olmadan olmalıdır. Yani 5000'den fazla tahmin ediciye ihtiyaç yoktur, sadece hareket grafiğinin kendisine ihtiyaç vardır. OHLC'den oluşması veya tek değişkenli olması önemli değil. Bununla birlikte, mevcut yöntemi örnekten bir değişken üzerinde, yani D(i)=D(i-1)+ Target_100_Buy formülünü kullanarak bir grafiğe dönüştürdüğüm 5584 sütununda denedim. Her üç dosya için de grafikler aşağıdaki gibidir:

Hedef fonksiyonun tekrarlanabilirliği eğitildi mi? Örneğin, 20 kez başarılı olduysa, 21 kez başarılı olacak mı?
Tahminci olarak kaç değer giriyorsunuz?
İşte yaklaşık 5 yıl boyunca TP/SL=50 pts

M5 ile alış ve satış için en basit hedefler.

İşaretleme her M5 çubuğundadır, yani büyük olasılıkla son sinyalden (5 dakika önce) gelen ticaret henüz bitmemiştir. Bunları istiflemenin doğru olacağından emin değilim. İstifleme, 1 anda yalnızca 1 işlemin olduğu bir hedef için uygun olacaktır - aynı anda 100 işlem bile bir gecede tamamlanmayabilir.

Not: - Onları eğitilemez hale getirdim. Tahmincilerimde her zaman başarısız oluyorlar.

Dosyalar:
buy.csv  3516 kb
sell.csv  3516 kb
Neden: