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
Bunu size bir örnek kullanarak açıklayacağım.
100 ile 250 arasında değerlere sahip olabilen bir değişkeni tahmin etmek istediğinizi varsayalım /gibi GBPJPY/. H1 veya H4/ gibi eğitim verilerine kıyasla çok küçük zaman adımlarını tahmin etmek istiyorsunuz. Bazı adımlar için istenen değer, diyelim ki, 174.850 ve NN çıktısı 176.350'dir. Hata çok küçük / yaklaşık %0,8/ ama Forex açısından hata büyük - 150 pip.
Normal veya logaritmik getiri oranını tahmin etmek çok daha kolaydır. Bir hata yapsanız bile, çıktı muhtemelen yine de faydalı olacaktır / %20'lik bir fiyat artışı öngörüyorsanız ve gerçekten %10'dur, hata %50 olsa bile sonuç hala çok iyi/.
Bu imkansız.
NN çok kötü bir tahminde bulunsa bile yine de bir çözümdür.
Bir masaüstü bilgisayar kullanabilirsiniz. Bugün bilgisayarlar başladığım bilgisayarlardan çok daha iyi
mrwobbles,
Nazik olur ve NN sonuçlarınız için girdileriniz ve çıktılarınız hakkında bizi bilgilendirir misiniz? Bunu NeuroShell üzerinden çalıştırmak ve aynı sıkılıkta R korelasyon seviyesi oluşturup oluşturamayacağımı görmek istiyorum. Şimdiden teşekkürler.
Bunu size bir örnek kullanarak açıklayacağım.
100 ile 250 arasında değerlere sahip olabilen bir değişkeni tahmin etmek istediğinizi varsayalım /gibi GBPJPY/. H1 veya H4/ gibi eğitim verilerine kıyasla çok küçük zaman adımlarını tahmin etmek istiyorsunuz. Bazı adımlar için istenen değer, diyelim ki 174.850 ve NN çıktısı 176.350'dir. Hata çok küçük / yaklaşık %0,8/ ama Forex açısından hata büyük - 150 pip.
Normal veya logaritmik getiri oranını tahmin etmek çok daha kolaydır. Bir hata yapsanız bile, çıktı muhtemelen yine de faydalı olacaktır / %20'lik bir fiyat artışı öngörüyorsanız ve gerçekten %10'dur, hata %50 olsa bile sonuç hala çok iyi/.
Evet ama bundan çok daha küçük olan hatalardan bahsediyorum. Eğittiğim ağın piplerindeki ortalama hata 10-20 civarında ve bu kabul edilebilir bir seviyeye yaklaşıyor. Yine de bazı anormal sonuçlar var, kabul edilemez olan 100 pipsten birkaçı.
Bu imkansız.
NN çok kötü bir tahminde bulunsa bile yine de bir çözümdür.
Evet, sanırım bunlara çözüm diyebilirsiniz ama rastgele bir popülasyonla başlamak daha uzun bir yakınsama süresine yol açmaz mı? Bu durumda, önceden eğitilmiş ağlardan oluşan bir popülasyonla başlamak, ağın yakınsamasını kesinlikle hızlandıracak ve umarım daha doğru sonuçlara yol açacaktır.
Ama hala eğitim verilerine bakıyorsunuz. Hızlı bir örnek yaptım - aşağıdaki resme bakın. Hata ölçüleri küçüktür, korelasyon katsayısı çok yüksektir, ancak sonraki 10 adımı tahmin etmeye çalıştığınızda ne olduğuna bakın.
Rastgelelik anahtardır
Birçok rastgele ağ ile, sonunda mümkün olan en iyi çözümü bulma şansınız daha yüksektir. İkinci resme bakın. NN'lerin ön seçimini yaparsanız, yerel optimumda takılıp kalabilirsiniz, ancak rastgele NN'ler kullanırsanız, global optimumu bulma şansınız daha yüksektir.
Elbette yerel optimumda takılıp kalma sorununun üstesinden gelmenin yolları var.
Bu düşünce aklımdan geçmişti. Demek istediğim, önceden eğitilmiş NN'lerin popülasyonu çok küçükse veya yeterli genetik varyansa sahip değilse, o zaman bazı çözümler düşünülmeyebilir. Dediğiniz gibi, her zaman farklı yerel minimumlarda takılı kalan 12 NN'yi seçme şansı vardır ve bu iyi olmaz. Veya daha da kötüsü, hepsi aynı yerel minimumda sıkışmış 12 NN. Her 10 nesilde bir, genetik stoğu artırmak için bazı rastgele gen mutasyonlarını her zaman kodlayabilmenize rağmen. Tamamen rastgele bir yapıyla başlamanız, çoğu olasılığın dikkate alınmasını sağlayacaktır.
Ah anlıyorum, tamam, ağın eğitiminden sonra nasıl kullanılacağını yeni öğrendim, sim işlevi görünüşe göre... oh yardım dosyalarının neşesi Cehaletimi bağışlamalısınız, NN'lerle çalışma konusunda oldukça yeniyim. Bu kadar kolay çözebilseydim hayal kırıklığına uğrardım. Yaz tatilinde yaptığım şey bu olmalı iyi ki ve çalışıyor
Düzenleme: Ağı ilk 7 yıllık veriler üzerinde eğittim ve ardından son birkaç yıllık girdilerdeki performansını simüle ettim. Pipteki ortalama hata 40'tı ama grafiğin grafiğine bakarsanız ilk 1500 güzel noktayı alıyor, sonra kaybediyor ve fiyatı yanlış almaya başlıyor ama yön çoğunlukla doğru. Sonra yaklaşık 10000'e ulaşır ve tekrar alır (tam büyük çarpışma için zamanında). Şuna bir bak ve ne düşündüğünü söyle. Koyu mavi, çıktı açık mavi hedeftir. Btw, ağa analiz için üst üste yerleştirilmiş hedefler sağlamadım.
Resimlere bakarak bir şey söyleyemem çünkü bir "gölge efekti" olabilir ve resimler bunu söylemek için çok küçük.
Ama size NN'nin iyi olup olmadığını nasıl kontrol edeceğinizi söyleyebilirim. Dışa aktarma /Matlab'da bir dışa aktarma ve içe aktarma sihirbazı vardır/ test çıktısını bir XLS veya CSV dosyasına /Excel dosyasına/. Ardından, gerçek değerleri NN çıktısının yanına koyun ve bir sonraki sütuna, NN'nin fiyat hareketinin doğru yönünü tahmin edip etmediğini kontrol eden bir formül koyun.
Kaç tane "1" aldığınızı sayarak ağın doğruluğunu bileceksiniz.
Her adım için kar ve zararı hesaplayan bir formül yazabilirsiniz. Aşağıdaki resme bakın / Excel'in Lehçe sürümünü kullanıyorum, bu yüzden formülleri doğru anlamış mıyım bilmiyorum /. Şimdilik yayılmayı atlayın.
Merhaba Kazam,
Bu NN paketini Metatrader'a uygulamak mümkün mü?
Tamam olabilir gibi görünüyor, formülü Open Office elektronik tablosunda çalıştırdım ve ticaret yönünde %73 doğruluk döndürdü. Doğruluğu artıracağını düşündüğüm ağa vermek için hala birkaç girdi daha var. İşte hesap tablosu, xls formatında kaydettim, okuyabilmelisiniz.
Numunede, numune dışında
Tamam olabilir gibi görünüyor, formülü Open Office elektronik tablosunda çalıştırdım ve ticaret yönünde %73 doğruluk döndürdü. Doğruluğu artıracağını düşündüğüm ağa vermek için hala birkaç girdi daha var. İşte hesap tablosu, xls formatında kaydettim, okuyabilmelisiniz.
İyi... Numunede mi, Numune Dışında mı?
Hesabınızda büyük fark yaratacaktır, Örneklemde %73 hesap katilidir, örneklemde %73 belki...
Yalnızca örneklem dışı sonuçlara inanmaya çalışın ve ne kadar az girdiniz olursa, o kadar az fazla uydurma elde edersiniz... bu nedenle, yeni girdiler eklerseniz, eski olanlardan bazılarını silmeyi düşünün .. veya örneklem dışını genişletin. inançlarınızı oluşturacağınız veri seti
Genel bir kural olarak: Daha az girdi, daha az bağlantı, daha fazla örnek nokta... daha iyi genelleme.
Saygılarımızla
simba
ikiyüzlü
Bu bir DLL, bu yüzden buraya bir göz atın:
There's an example of how to use DLL functions in Metatrader.
mrwobbles
It's either the training data or you got something wrong - the results are to good .
If one could get an accuracy of 73% with a simple back propagation network no one would give a shit about more complicated stuff
SIMBA
You're right. Choosing the proper input is a the most important thing in the process of creating a NN /there's a rule "trash goes in, trash comes out" /.
But you can always use data mining tools to analyze many different variables and choose those that affect the one you want to predict.
There's a nice book about data minig /and about genetic algorithms, Bayesian classification etc./ - "Data Mining Methods and Models." by Daniel T. Larose. It also shows how to use WEKA /a free, open source software for machine learning/.
My preferred way is to use GA - for the propose of time series prediction I usually allow them to choose from 15-40 previous steps.
PS
I've mentioned using Bayesian probability for the classification tasks but it can also be used for time series prediction
[CODE]http://www.cis.hut.fi/juha/papers/ESTSPfinal.pdf