"Python ve MQL5'te bir robot geliştirme (Bölüm 1): Veri ön işleme" makalesi için tartışma - sayfa 6

 
Durağan işaretler hakkında, bu arada, başka bir gözlem.

Testlerde XGBoost modeli, kaç kez çalıştırırsam çalıştırayım, farklı tarihlerde, mevcut işaretlerle farklı tarihlerde onlarca kez birbiri ardına karlı ileriye doğru gösteriyor. Her ne kadar acemi olsam da aptal değilim, 2007-2016 için eğitimi kestim ve sonra saf ileri testi yaptım. Risk ödül işlemlerine sahip etiketlerin doğruluğu 1: 8 - ileriye dönük% 66 ortalama, bazen XGB% 72-74 çıkarır. Diğer tüm modeller, sinir ağları, diğer tüm bousting, rastgele ormanlar - dinsiz dökülür.

Eğer 10 yıldan uzun bir süredir kullanılmış bir modeli forvete döküyorlarsa, mevcut özelliklere sahip bir döngünün ilk makalesini bile yayınlamazdım.

XGB modelinin birçok tahmin ve veri bilimi yarışmasını geçmesinin bir nedeni var. Görünüşe göre bir şekilde ham verilerle nasıl çalışılacağını biliyor. Ve çapraz doğrulama da dahili. Bir tanıdık bilim adamı, bilim doktoru tarafından bana söylendi, tahmin için kullanıyor, iyi ve ticaret de yapıyor, bana 55 Kar faktörü ile bir ticaret raporu attı, ancak internetten kayboldu, çok fazla gelişmesi vardı, ona ne olmuş olabileceği belli değil. Aslında beni birkaç yıl önce MO'ya getiren o ve Maxim Dmitrievsky'nin süper makaleleriydi.

Ancak XGB'yi öğrenmek çok uzun zaman alıyor. Son model iki gün boyunca eğitildi, beklemekten yoruldum, normal bir boolean genellikle sunucuda birkaç dakika içinde öğrenirken. Ancak bu benim için bir dereceye kadar algoritmanın karmaşıklığının ve verimliliğinin bir göstergesi. Araştırma için daha güçlü bir sunucu kiralayacağım.

Umarım ONNX sürümü çok ağır olmaz ve çok fazla satıra sahip olmaz. MQL5'te ONNX model verilerinin satır sayısında bir sınır var. Bir keresinde 100 milyon satırlık bir model eğitmiştim ve buna çok üzülmüştüm, mcl kullanmama izin vermiyor) Çok ağır olacağını düşünüyorum ve bunu öngörerek doğrudan Python aracılığıyla çevrimiçi ticaret için bir model yaptım, döngünün sonraki makalelerinde görünecek, Pazartesi günü test edeceğim. Serinin taslağı çoktan tamamlandı. İlk başta her şeyi tek bir sayfada yayınlamak istedim, ancak yönetim bana izin vermedi ve muhtemelen haklı, böyle bir karmaşayı okumak sıkıcı olurdu).

Finam MT 5'te Sber için bir scalper fikri ortaya çıktı, mesele şu ki, Python kütüphanesi mkle'de fiyat yığınının geçmişini almak için bir işlev var, ya üzerinde bir model eğitirseniz ve scalpit yapmasına izin verirseniz, propakh'taki adamlar yığın üzerinde işlem yapıyor ve oldukça başarılı. Prop tüccarlarının deneyimlerine bakılırsa, böyle bir fikre sahip olan ilk kişi ben değilim ve MO'da uzun süredir bu tür birçok scalping algoritması var. Scalping caziptir çünkü karlılık gün içinde ve gün dışında karşılanabilir. Rusya'da yabancı bir yatırımcı olarak küçük de olsa bir Finam hesabım var) Bu yüzden belki de serinin son makalesi Finam veya AMP Futures Europe aracılığıyla Moskova Borsası veya CME'de bu tür bir scalper'a ayrılacak.

Ayrıca Python'da bilgisayarla görme üzerine bir taslağım var, mevcut döngüden sonra bununla ilgili bir makale hazırlayacağım.

Çok fazla fikir var, gerçekten çok fazla, her gün yeni bir fikir ortaya çıkıyor ve kod için oturuyorum. Her ne kadar eşim şimdiden para kazanalım, elindekilerle US Prop USA'yı al, para kazan dese de. Zaten onlarca eğitimli model var. Ama ben daha çok araştırmayla ilgileniyorum. Sanırım doğru, bir hesap almalıyım ve sakinleşmeliyim. Şubat ayında bir hesap aldım ve ne yazık ki meta kotaları ile prop ile ilgili sorunlar vardı, anladığım kadarıyla prop lisans almak istemedi ve chemed. Şans eseri, prop'um MT 5'i kaldırdı, MT 5 yerine koydukları başka bir terminal üzerinden ellerimle ticaret yapıyordum ve sonunda kaybettim. MT 5 ile başka bir pervanede yeni bir hesap alacağım ve bununla ilgili haberleri, ticaretin nasıl gittiğini yazacağım.

En iyi tahmincilerin seçiminin İLERİ tarihle sınırlı olması gerektiği gerçeği hakkında, bu çok iyi bir fikir, bir şekilde bu noktayı kaçırdım).
 

2010'dan ileri örnek, 2010'dan önce eğitim.

Örnek, modeli ayrı olarak test etmek için EXAMWARD örneğini de uyguladım, işte sonuç. Diğer TÜM modeller ve sinir ağları ilk günden beri bu özellikler üzerine dökülüyor.

 

İşte basit bir ilerleme bu şekilde farklılık gösterir:

Ve çapraz doğrulama, model torbalama (evet, bunların hepsi varsayılan olarak XGB'ye eklenmiştir, ancak uygulamaya karar verdim), ızgara hiperparametre numaralandırma vb:


 
Yevgeniy Koshtenko #:
Sınıf etiketleri sıfırlanmazsa, etiketleri tahmin etmek için en iyi özellik etiketlerin kendisi olacaktır, değil mi?

Etiketleri sıfırlamazsınız (eşanlamlı olarak sıfırlama - temizleme - anlamına gelir), ancak etiketleri içeren sütunları hariç tutarsınız ve etiketlerin kendilerini hedef olarak modele ayrı ayrı beslersiniz, yani onlar hakkındaki bilgiler sıfırlanmaz ve geri alınamaz bir şekilde kaybolmaz, ancak modeli eğitirken kullanılır.

 
Yevgeniy Koshtenko #:
Testlerde XGBoost modeli, kaç kez çalıştırırsam çalıştırayım, farklı tarihlerde, güncel işaretlerle farklı tarihlerde onlarca kez birbiri ardına karlı ileriye doğru gösteriyor. Her ne kadar acemi olsam da aptal değilim, 2007-2016 için eğitimi kestim ve sonra saf ileri testi yaptım. Risk ödül işlemlerine sahip etiketlerin doğruluğu 1: 8 - Forward'larda% 66 ortalama, bazen XGB% 72-74 çıkarır. Diğer tüm modeller, sinir ağları, diğer tüm bousting, rastgele ormanlar - tanrısız dökülür.

Makalede çok fazla çaylak hatası var - daha önce de yazdım, aynı kodu kullanırsanız - mucizeler olabilir.

Çözümünüzle bir ay boyunca bir demoda işlem yapmayı deneyin, ardından modeli test etmek için bir örnek ekleyerek giriş noktalarını karşılaştırın.

XGB mucizeleri hakkında okumak kesinlikle ilginç, özellikle hiperparametreleri nasıl bulduğunuzu - onlara karşı çok hassas olduğunu okudum.

 
Rashid Umarov #:

Sizi kırmamak için böyle bir varsayımda bulunmak istememiştim :)

Bundan böyle, azarlamadan önce kaynağınızı kontrol edin

Terminali taşınabilir modda kurdum, "taşınabilir" anahtarını bir şekilde yazmam gerekiyor mu?

Terminal çalışıyorsa kod çalışmaz ve terminali kapatırsanız, anahtar olmadan başlatmayı dener, ancak bu da çalışmaz.

 
Aleksey Vyazmikin #:

Terminali taşınabilir modda yükledim, "taşınabilir" anahtarını bir şekilde yazmam gerekiyor mu?

Terminal çalışıyorsa, kod çalışmıyor ve terminali kapatırsam, anahtar olmadan önyükleme yapmaya çalışıyor, ancak bu da çalışmıyor.

Doğrudan terminalden çalıştırmayı deneyin. Komut dosyasını grafiğe atmanız yeterlidir ve sonuçları "Uzmanlar" sekmesinde yazdırır

Belki de meta düzenleyicide python klasörünün yolunu belirtmeniz gerekiyordur.

Benim için böyle çalışıyor. Ama bir sürü danstan sonra))))

 
Aleksandr Slavskii #:

Doğrudan terminalden çalıştırmayı deneyin. Komut dosyasını grafiğe atmanız yeterlidir ve sonuçları "Uzmanlar" sekmesinde yazdırır

Belki de meta düzenleyicide python klasörünün yolunu belirtmeniz gerekiyordur.

Benim için böyle çalışıyor. Ama bir sürü danstan sonra))))

Terminali taşınabilir modda mı kullanıyorsunuz?

ME'de yol önceden belirlenmiştir (otomatik olarak görünür).

 
Aleksey Vyazmikin #:

Terminali kullanarak taşınabilir modda mısınız?

ME'de yol önceden belirlenmiştir (otomatik olarak ortaya çıkar).

Taşınabilir sürümde kontrol ettim, her şey çalışıyor.

İki terminal çalışıyorsa ve betikte terminalin yolu belirtilmemişse, derlemeye çalışırken terminallerden birinde bir hata oluşuyor.

 
Aleksandr Slavskii #:

Taşınabilir sürümü kontrol ettim, her şey çalışıyor.

İki terminal çalışıyorsa ve terminalin yolu kodda belirtilmemişse, derlemeye çalışırken terminallerden birinde bir hata oluşur.

Terminalden çalıştırdım

2024.04.01 17:22:57.397 synergy_ml_bot (EURUSD,Monthly) Number of instruments in the terminal: 140
2024.04.01 17:22:57.397 synergy_ml_bot (EURUSD,Monthly) Data for EURUSD not available (attempt 1)
2024.04.01 17:22:58.416 synergy_ml_bot (EURUSD,Monthly) Number of instruments in the terminal: 140
2024.04.01 17:22:58.416 synergy_ml_bot (EURUSD,Monthly) Data for EURUSD not available (attempt 2)
2024.04.01 17:22:59.416 synergy_ml_bot (EURUSD,Monthly) Number of instruments in the terminal: 140
2024.04.01 17:22:59.416 synergy_ml_bot (EURUSD,Monthly) Data for EURUSD not available (attempt 3)
2024.04.01 17:23:00.418 synergy_ml_bot (EURUSD,Monthly) Number of instruments in the terminal: 140
2024.04.01 17:23:00.418 synergy_ml_bot (EURUSD,Monthly) Data for EURUSD not available (attempt 4)
2024.04.01 17:23:01.421 synergy_ml_bot (EURUSD,Monthly) Number of instruments in the terminal: 140
2024.04.01 17:23:01.421 synergy_ml_bot (EURUSD,Monthly) Data for EURUSD not available (attempt 5)

Yol, terminale giden her iki yol için de belirtilmiştir.

terminal_path = "C:/FX/MT5_02/terminal64.exe"
#terminal_path = "C:\\FX\\MT5_02\\terminal64.exe"

Bir yerde yanlış yere bakıyor - terminalde geçmiş var.