Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 680
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Bir nöronun R'den mql'ye nasıl aktarılacağı konusunda:
Bunu nnet paketi ile yaptım. https://cran.r-project.org/web/packages/nnet/index.html (Paket kaynağı: nnet_7.3-12.tar.gz) kaynaklarına bakmanız gerekiyor. Arşivde src / nnet.c klasörü var
fpass işlevine ihtiyaç var, ilk birkaç satır thisError = 0.0'a kadar (bu, backprop için hata hesaplamasının başlangıcıdır, basit tahmin için gerekli değildir)
İşte danışmanda kullanılabilecek kod -
bu kod yalnızca model parametresi atlama = YANLIŞ ise çalışır
Böyle değilse veya softmax kullanılıyorsa - fpass () işlevindeki farklılıkları arayın
ağırlıkların (dizi nnet_weights) eğitimden sonra R'nin kendisinden kopyalanması gerekir
Takviye ile ilgili başka bir küçük giriş makalesi, asıl mesele şu ki
mql üzerinde küçük bir ekip çalışması ve beyin fırtınası düzenlemek ve deneyim paylaşmak ilginç olurdu, konu çok ilginç ve diğer yaklaşımlar zaten emildi.
https://proglib.io/p/trade-learning/
Benim düşünceme göre, pekiştirmeli öğrenme genellikle çok geniş bir modele sahip bir model verir ve bu durumda çapraz doğrulama kurtarmaz. Modelin kendi içinde, teklife karşı bazı özel mekanizmalar olmalıdır.
Henüz bu konuyla tanışmamış olanlar için kısacası: alışılmış model değerlendirmesi (doğruluk, r2, loggloss vb.) yerine kendi model değerlendirme mantığı ile özel bir uygunluk fonksiyonu oluşturulur. Böyle bir uygunluk fonksiyonu, örneğin, alım satım yaparken modelin karını veya keskinleştirmeyi hesaplayabilir. Ve modelin parametreleri bir genetik algoritma ile seçilir.
Mt4 ve mt5'teki optimize edicinin de pekiştirmeli öğrenme ilkesi üzerinde çalışması ilginçtir - her çubuktaki (hatta kenedeki) danışman fiyat ve göstergelerin mevcut değerlerini alır, bazı kararlar alır, bunlar üzerinde işlem yapılır ve danışmanın nihai tahmini, ticaretin sonucu olarak kabul edilir. Danışmanın parametreleri, puanı artırmak için genetik tarafından seçilir.
MT5 için ücretsiz olarak temin edilebilen Expert Advisors'a bakılırsa, bu eğitim yönteminin pek çok tembellik yarattığı açıkça görülüyor. Ama bazen iyi danışmanlar da alırsınız.
Benim düşünceme göre, pekiştirmeli öğrenme genellikle çok geniş bir modele sahip bir model verir ve bu durumda çapraz doğrulama kurtarmaz. Modelin kendi içinde, teklife karşı bazı özel mekanizmalar olmalıdır.
Henüz bu konuyla tanışmamış olanlar için kısacası: alışılmış model değerlendirmesi (doğruluk, r2, loggloss vb.) yerine kendi model değerlendirme mantığı ile özel bir uygunluk fonksiyonu oluşturulur. Böyle bir uygunluk fonksiyonu, örneğin, alım satım yaparken modelin karını veya keskinleştirmeyi hesaplayabilir. Ve modelin parametreleri bir genetik algoritma ile seçilir.
Mt4 ve mt5'teki optimize edicinin de pekiştirmeli öğrenme ilkesi üzerinde çalışması ilginçtir - her çubuktaki (hatta kenedeki) danışman fiyat ve göstergelerin mevcut değerlerini alır, bazı kararlar alır, bunlar üzerinde işlem yapılır ve danışmanın nihai tahmini, ticaretin sonucu olarak kabul edilir. Danışmanın parametreleri, puanı artırmak için genetik tarafından seçilir.
MT5 için ücretsiz olarak temin edilebilen Expert Advisors'a bakılırsa, bu eğitim yönteminin pek çok tembellik yarattığı açıkça görülüyor. Ama bazen iyi danışmanlar da alırsınız.
Optimize edici ile güzel bir benzetme, sadece önceki botum bununla ilgiliydi, ama çok basit
ancak genel olarak durum böyle değildir, eğer RL genetiğe karşı değilse, o zaman avantajları vurgulanır, örneğin durağan olmayan süreçler üzerinde çalışma yeteneği. Özellikle, modelin süreçte sürekli olarak yeniden eğitildiği ve rastgele adımlar attığı için açgözlü olmayan uygunluk işlevlerini kullanabilirsiniz. Ve optimize edici olarak, Ulusal Meclisten (genetik değil) bir vücut kiti kullanılır.
Orada her şey biraz daha karmaşık, ama henüz kitabı okumayı bitirmedim.
Onlar. genetik, optimize edici ve RL hakkındaki ifadeniz yanlış
*bir anlık duygu, felsefe ve tüm bunlar*
Açık, güneşli bir gün hayal edin. Bir göletin yanında çimenlerin üzerinde oturuyorsunuz, ılık bir bahar esintisi esiyor, suda dalgalar bırakıyor, yakınlarda bir yerde ördek seslerini duyabiliyorsunuz. Balıklar su altında sığ yüzerler, bazen yüzgeçleriyle yüzeye dokunurlar ve suda halkalar yayarlar. Bir komşu yakınlardan su çekiyor ve torunu suya taş atarak kurbağaları bir o yana bir bu yana kovalıyor. Gölün diğer tarafında bir adam arabasını yıkıyor.
Fiyat, tüm bu kargaşadan sudaki dalgalar gibi, ama aynı zamanda bir fırtına sırasında. Dalgaları takip edebilir ve belirli bir noktada suyun ne zaman yükselmeye veya düşmeye başlayacağını tahmin etmeye çalışabiliriz, ancak çevreyi takip etmezsek çoğu durumda yanılmış oluruz.
Fiyatın gelecekteki değeri, geçmiş değerlerine değil, geçmiş fiyat değişikliklerine neden olan ve yeni değişikliklere neden olacak küresel dünya süreçlerine bağlıdır.
Sadece sudaki dalgaları değil, aynı zamanda rüzgarı, balığın yörüngesini, komşunun kovasını vb. takip etmek gerekir, o zaman sudaki dalgaların doğası anlaşılır ve tahmin edilebilir olacaktır.
Buna göre, fiyatı etkileyen tüm küresel süreçler hakkında bilginiz varsa, onlardan tahmin etmeyi öğrenebilirsiniz ve geçen yüzyıldan kalma herhangi bir basit model bununla başa çıkacaktır.
Sorun şu ki, genellikle sadece bir fiyat tablosu var ve bu yeterli değil.
RL ve NN'yi nasıl bağlayacağınız aşağıda açıklanmıştır
ve vidosik, daha 2. bölüm var
işte bu, artık spam yapmayacağım, okumak isteyenler
MT'deki sinir ağları ile her şey basittir. Microsoft CNTK'dan bir kitaplık var. Python, C# ve C++ için uygulanmaktadır. Tüm ağ analizi ve eğitimi Python'da yapılır ve eğitilen ağı yükleyen ve üzerinde hesaplamalar yapan C++ ile bir DLL yazılır. Bence bu en iyi seçenek. İkinci seçenek Python'u MT'ye bağlamaktır. Bunun için basit bir kütüphane yazdım. kitaplık Python'da bulunan her şeyi bağlayabilir ve kullanabiliriz. Ve çok fazla mevcut. Blogumda makine öğrenimi hakkında yazmaya başlamalı mıyım diye merak ediyorum.
stratejiler ve kişisel düşünceler / deneyimler hakkında okumak ilginç olurdu .. şahsen benim için
çünkü temelde burada kütüphane yığınlarını sıralamak ve ne yazmanın/yazmamanın daha iyi olduğu hakkında her türlü çöpü yazıyorlar .. salgın basit ve her şey sütte
ana fikir fxsaber tarafından uzun zaman önce dile getirilmiş olsa da - bu yaklaşımla konu kapanabilirdi, çünkü başlangıçta hatalıydı