"Üçüncü Nesil Nöral Ağlar: Derin Ağlar" makalesi için tartışma - sayfa 6

 

Bir başka hızlı test, bu kez Eylül 2014'ten Şubat 2015'e kadar 6000 barlık bir eğitim seti ile. Örneklem dışı test Mart ayında başlıyor:

Yine model bozulana kadar yaklaşık 5 haftalık karlı bir aşamaya sahibiz.

Test ve eğitim verilerine ayırmanın gereksiz olduğuna inanıyorum: eğitim için tüm verileri kullanabiliriz. Doğruluk ve karışıklık matrisi yanıltıcıdır çünkü çoğu durumda ZZ işareti önceki çubuğun işaretiyle aynıdır ve yanlış bir şekilde yüksek bir doğruluk önerir. Kâr için yalnızca işaret değişiklikleri önemlidir.

 
jcl365:

Şimdi bir sonraki çubuğun tahmini ile yeni bir model eğittim ve gerçekten işe yarıyor gibi görünüyor. Doğruluk hala %74 aralığında. Bu şimdi eşitlik eğrisi:

:

Tıpkı beklediğim gibi davranıyor: sistem eğitimden hemen sonra karlı ve daha sonra piyasa değiştikçe yavaşça kötüleşiyor.

Dolayısıyla bir sonraki adım, modelin düzenli olarak yeniden eğitildiği bir WFO testidir. Bunun için eğitimin strateji komut dosyasına entegre edilmesi gerekir.

Bu, bir sonraki çubuğun Sig değerini hesaplamak için düzeltilmiş işlevdir:

Strateji komut dosyası tarafından her 30 dakikada bir yürütülen "Hesapla" işlevi:

Strateji komut dosyası, "EA":

jcl365:

Şimdi bir sonraki çubuğun tahmini ile yeni bir model eğittim ve gerçekten işe yarıyor gibi görünüyor. Doğruluk hala %74 aralığında. Bu şimdi eşitlik eğrisi:

:

Tıpkı beklediğim gibi davranıyor: sistem eğitimden hemen sonra karlı ve daha sonra piyasa değiştikçe yavaşça kötüleşiyor.

Dolayısıyla bir sonraki adım, modelin düzenli olarak yeniden eğitildiği bir WFO testidir. Bunun için eğitimin strateji komut dosyasına entegre edilmesi gerekir.

Bu, bir sonraki çubuğun Sig değerini hesaplamak için düzeltilmiş işlevdir:

Strateji komut dosyası tarafından her 30 dakikada bir yürütülen "Hesapla" işlevi:

Strateji komut dosyası, "EA":

Merhaba

ZZ serisini bir çubuk ileriye taşıdınız .

for(i in 1:length(ZZ)-1) { ZZ[i] = ZZ[i+1] }

dz serisini gelecekte bir çubuğa taşıdınız .

 dz <- c(diff(ZZ), NA)

Yani iki çubuktaki hedef değişkeni geleceğe taşıdınız .

Bu şu anlama gelir

dz <- Hmisc::Lag(diff(ZZ), shift=-2)

Bu seçenek de kullanılabilir.


 


Yine model bozulana kadar yaklaşık 5 haftalık karlı bir aşamaya sahibiz.

Bu normal bir durumdur. Model periyodik olarak yeniden öğrenebilir ve öğrenmelidir.

Test ve eğitim verilerini ayırmanın gereksiz olduğuna inanıyorum: eğitim için tüm verileri kullanabiliriz.

Olabilir. Birkaç önemli noktayı hatırlamak önemlidir:
1. Eğitim ve test setleri kesişmemelidir.
2. Eğitim seti karışık olmalıdır

3. Denge sınıflarının oranı ise - ayarlamayı yapmak için .

R kullanan meslektaşlarım olduğuiçin mutluyum.

Saygılarımla

Vladimir

 

Çifte kaydırma konusunda haklısınız: Sistemin aslında öngördüğü şey, bir sonraki çubuğun orta fiyatına dayanan bir ZZ farkıdır. ZZ orta fiyatlardan hesaplanır, ancak hesaplama zamanında, normalde son ve bir sonraki orta fiyatın yaklaşık yarısı olan kapanış fiyatına sahibiz. Dolayısıyla, ek kaydırma geleceğe doğru yaklaşık 1,5 çubuk tahmin ediyor ve aslında ek kaydırma olmadan çok daha kötü sonuçlar aldım.

Şu anda her 4 haftada bir yeniden eğitim veren ve eğitimi takip eden 4 haftayı test eden bir Zorro betiğim var. Deepnet oldukça hızlı, betiğin yaklaşık 60 eğitim/test döngüsünü kapsayan bir çalışma için sadece 10 dakikaya ihtiyacı var. Sonuç bu:

Bu ilk izlenimler kadar iyi görünmüyor. Açıkça iyileştirme potansiyeli var, bu nedenle sonraki adımlar farklı ağ kurulumları, zaman aralıkları ve farklı göstergelerle denemeler yapmak olacaktır.

 
Sadece göstergeleri değil, parametrelerini de almamızgerekiyor. Gen algoritması size yardımcı olur.

Zorro nedir? Bağlantıları verir misin?


 
Vladimir Perervenko:
Sadece göstergeleri değil, parametrelerini de almamızgerekiyor. Gen algoritması size yardımcı olur.

Zorro nedir? bağlantıları ver?


Evet, Yu / Wang / Lai tarafından NN Forex eğitimi için göstergeleri önceden seçmek için bir genetik algoritmayı tanımlayan bir kitap var. - Zorro kullanıyorum çünkü komut dosyaları daha basit ve geriye dönük testler daha iyi, ancak MT4'ün de biraz çabayla yapacağını tahmin ediyorum. Bu bir MT4 web sitesi olduğu için bir bağlantı veremiyorum, ancak Zorro ticaret otomatı için google'da arama yapabilirsiniz. Bernd Kreuss'un R dll'i de Zorro ile çalışır.
 

Her şeyi indirdim ve kurdum ve tüm dosyaları Klasörlere yerleştirdim. Tüm paketler yüklendi. Klasörler hedeflerime ayarlandı.

Uzmanı EURUSD m30 Grafiğine koyduğumda DebugView'da bile her şey yolunda, ancak göstergeyi Grafiğe koyar koymaz bir Hata alıyorum:

ExecutedCode: in >>> as.Logical(res <-GetRes()) [1]

Hata if (z) { :

"i_SAE_fun.r" içindeki GetRes işlevinin sonucu her zaman NA'dır ve bu nedenle bunu bool'a dönüştüremez ve çalışmayı durdurur.

Bana doğru yolu gösterebilecek biri var mı? Neyi kaçırıyorum?

Saygılarımla,

APoLLo

 
APoLLo_MQL:

Her şeyi indirdim ve kurdum ve tüm dosyaları Klasörlere yerleştirdim. Tüm paketler yüklendi. Klasörler hedeflerime ayarlandı.

Uzmanı EURUSD m30 Grafiğine koyduğumda DebugView'da bile her şey yolunda, ancak göstergeyi Grafiğe koyar koymaz bir Hata alıyorum:

ExecutedCode: in >>> as.Logical(res <-GetRes()) [1]

Hata if (z) { :

"i_SAE_fun.r" içindeki GetRes işlevinin sonucu her zaman NA'dır ve bu nedenle bunu bool'a dönüştüremez ve çalışmayı durdurur.

Bana doğru yolu gösterebilecek biri var mı? Neyi kaçırıyorum?

Saygılarımla,

APoLLo

Merhaba APoLLo.

R' ninhangi sürümüne sahipsiniz ?
Bu oldukça uzun bir makale ve R'deki güncelleme paketlerinden sonra bazı işlevler çalışmayı durduruyor.
Revolution R Open (RRO 8.01) kullanmak daha iyi
Kontrol etmek için Rstudio 'da bir komut dosyası çalıştırın.

Zamanınız varsa, hatanın nerede olduğunu da kontrol ederim.

Saygılarımla/

Vladimir

Revolution R Open
  • www.revolutionanalytics.com
Revolution R Open is our enhanced distribution of the world's most widely used data analysis software. Based on open source R, Revolution R Open is built, tested and distributed by Revolution Analytics and delivers: The latest R language engine from the R Foundation for Statistical Computing High-performance R language engine (multi-threaded...
 
Vladimir Perervenko:

Merhaba APoLLo.

R' ninhangi sürümüne sahipsiniz ?
Bu oldukça uzun bir makale ve R'deki güncelleme paketlerinden sonra bazı işlevler çalışmayı durduruyor.
Revolution R Open (RRO 8.01) kullanmak daha iyi
Kontrol etmek için Rstudio 'da bir komut dosyası çalıştırın.

Zamanınız varsa, hatanın nerede olduğunu da kontrol ederim.

Saygılarımla/

Vladimir

En son MT4 yapısıyla birlikte en son R 3.2.0 64bit sürümünü kullanıyorum. R için tüm paketler dün indirildi, bu yüzden onlar da en son sürüm olmalı.

EA'yı EURUSD M30'da başlatırsam, ona RGUI ile bağlanabilir ve "SAE" ve "prepr" için kontrol edebilir ve birçok sayıyı geri alabilirim.

Benim için R'deki GetRes işlevi, Sunucuda (EA) bulunmayan flag1 değerini alarak bir Bağlantının açık olup olmadığını kontrol ediyor gibi görünüyor.

Belki de bunun nedeni "Acc" veya "K" veya "Kmax" değerlerinin hiçbir zaman doğru hesaplanmamasıdır.


Zamanım var, bu yüzden bir göz atma şansınız varsa çok mutlu olurum.

Daha sonra bunun daha iyi çalışıp çalışmadığını kontrol etmek için Revolution R 8.01'i deneyeceğim.

Yardımınız için teşekkürler :)

 
Vladimir Perervenko:

Makale için yazara kocaman bir TEŞEKKÜR. Makalenizle birlikte sinir ağlarının piyasadaki uygulamalarına aşina olmaya başladım. Daha önce sinir ağlarına aşina değildim ve R dilini hiç kullanmamıştım. Ama şimdi yükledim ve öğreniyorum. Karmaşık görünüyor ama ilginç!

Ve evet, lütfen bana söyleyin, SAE.model dosyasının bir Uzman Danışman için bir kütüphane olarak nasıl çalıştığını anlayamıyorum? Yani, sinir ağı yapısını R'den kaydedebilir ve ardından bir Uzman Danışman'da normal bir kütüphane olarak kullanabilir miyiz, yoksa ne? Her şey çok kafa karıştırıcı ve karmaşık (benim için).