Optimizasyon Aralığı

 

Herkese selam!

Expert Advisors'ı optimize etmek için kullanılan veri aralığı hakkında bir soru sormak istiyorum. Onlar. hangi zaman dilimlerinde hangi aralıkların seçileceği. Örneğin, H1 için Expert Advisor'ı bir aylık, üç, bir yıllık veriler üzerinde optimize etmek yeterli mi? Bu değerleri farklı zaman dilimleri için görmek ve seçim için en azından kısa bir gerekçe görmek istiyorum. Şimdiden teşekkürler

 
Bu oldukça sık gelen bir sorudur. Genel olarak, optimizasyon doğası gereği tartışmalı bir olgudur - hem rakipleri hem de yandaşları vardır. Konu tamamen bireyseldir ve büyük ölçüde hem ticaret sisteminin özelliklerinden hem de piyasanın davranışından kaynaklanmaktadır . Ayrıca, optimize edilen parametrelerin özüne bağlıdır.
 
ITeXPert >> :


Expert Advisor'ları optimize etmek için kullanılan veri aralığı hakkında bir soru sormak istiyorum. Onlar. hangi zaman dilimlerinde hangi aralıkların seçileceği. Örneğin, H1 için Expert Advisor'ı bir aylık, üç, bir yıllık veriler üzerinde optimize etmek yeterli mi? Bu değerleri farklı zaman dilimleri için görmek ve seçim için en azından kısa bir gerekçe görmek istiyorum.

Test ve optimizasyon üzerine harika bir kitap
 

Net bir kriter yok, herkesin bu konuda kendi görüşü var. Fikrimi ifade etmeye çalışacağım.

Tüm tarihsel dönem boyunca optimizasyon, tamamen kendi kendini aldatmadır. Bu nedenle optimizasyon aralığı, test süresinin en az iki katı olmalıdır. Ancak test süresinin ne kadar küçük kısmı optimizasyon için kullanılırsa o kadar iyidir. Optimizasyon bölümündeki parametreleri seçtikten sonra, test süresi olarak seçmiş olduğunuz tam aralıkta testi çalıştırın. Örnek en az 100 işlem ise, elde edilen sonuçlara "inanmaya" başlayabilirsiniz. Ancak bu bile çoğu için yeterli değil. Daha fazla sayıda işlemin sistemin daha doğru temsillerini sağladığı açıktır. Örneğin, en az 200 işlemi örneklediğimde "inanmaya başlıyorum". 1000 işlem en iyi seçenektir, ancak mükemmelliğin sınırı yoktur...

 

Ezhev ve Shumsky bu soruyu çok iyi analiz ettiler. Yaptıklarını özetleyerek şunları söyleyebiliriz:

Öğrenme teorisinin görevi, öğrenme hatasını en aza indirmek değil, gelecekteki olası tüm örnekler için tanımlanan genelleme hatasını en aza indirmektir. Optimize edilmiş TS bu şekilde maksimum tahmin yeteneğine sahip olacaktır. Ve buradaki zorluk, gerçekten gözlemlenebilir olanın tam olarak ve yalnızca öğrenme hatası olmasıdır. Genelleme hatası yalnızca belirli düşünceler temelinde değerlendirilebilir. Test cihazının yeni veriler üzerindeki tahminlerinin hatası, modelin kendisinin açıklamasıyla birlikte modeli kullanan veri açıklamasının toplam uzunluğu ile belirlenir.

Yaklaşım hatası

TS tarafından verilen kararların sayısı, kural olarak, içinde ayarlanan parametre sayısından çok daha az olduğundan, bu durumda, ortalama yaklaşım hatası, toplam uydurma parametresi sayısı w cinsinden aşağıdaki gibi ifade edilecektir: Eyaklaşık= d/w, burada d, TS'nin analiz ettiği giriş parametrelerinin sayısıdır. Çoğu durumda, d=w sağlanır (tüm uydurma parametreleri TS girişinde yoğunlaşır).

Algoritmaların öğrenilmesindeki ana problem, fazla uydurma veya geçmiş uydurma problemi olarak bilinir. Bu sorunun özü en iyi belirli bir örnekle açıklanır. Eğitim örneklerinin, yeniden oluşturmak istediğimiz bazı işlevler tarafından üretilmesine izin verin. Öğrenme teorisinde böyle bir fonksiyona öğretmen denir. Sınırlı sayıda eğitim örneğiyle, sıfır öğrenme hatası olan bir Test Geçişi oluşturmak her zaman mümkündür, yani. bir dizi eğitim örneğinde tanımlanan bir hata. Bunu yapmak için, örnek sayısından daha fazla sayıda uydurma parametresi olan bir TS almanız gerekir. Gerçekten de, her örneği yeniden üretmek için, elimizde P var. W için denklemler Bilinmeyen. Bilinmeyenlerin sayısı denklemlerin sayısından azsa, böyle bir sistem belirsizdir ve sonsuz sayıda çözüm kabul eder. Asıl sorun bu: tek doğru çözümü seçmek için yeterli bilgiye sahip değiliz - öğretmen işlevi. Sonuç olarak, rastgele seçilen bir işlev, eğitim örneğinde olmayan yeni örnekler üzerinde zayıf tahminler verir, ancak Test Cihazı geçmişteki sonuncuyu hatasız olarak yeniden üretir. Bilinen örnekleri genellemek yerine ezberledi . Bu etkiye fazla uydurma denir.

Modelin karmaşıklığıyla ilgili bir hata.

Modelin açıklaması, esas olarak ayar parametrelerinin değerlerinin iletilmesine indirgenmiştir. Belirli bir kesinlik için, böyle bir açıklama W bitlerinin sırasını gerektirir. Bu nedenle, modelin karmaşıklığıyla ilişkili örnek başına belirli hata aşağıdaki gibi tahmin edilebilir: Ecomplex=W/P . Gördüğümüz gibi, örnek sayısı arttıkça (eğitim tarihinin uzunluğu) monoton bir şekilde azalır.

Gerçekten de, benzersiz bir tanım için P için montaj parametreleri verilen örnekler sistemin R denklemleri yeniden tanımlanmıştır , yani. parametre sayısı W daha fazla denklem vardı. Üstbelirleme derecesi ne kadar yüksekse, öğrenme çıktısı, eğitim örneklerinin bir alt kümesinin özel seçimine o kadar az bağlıdır. Yukarıda tanımlanan genelleme hatasının bileşeni, örnek sayısının sonlu olması nedeniyle kesin olarak çözümün varyasyonları ile ilgilidir.

Böylece, strateji test cihazının genelleme hatasının her iki bileşenini de tahmin ettik: E=Eyaklaşık+ Ecomplex=d/W+W/P>SQRT(d/P). Bu bileşenlerin, toplam hatayı en aza indiren en uygun boyutu seçme olasılığını ifade eden W uydurma parametrelerinin sayısına farklı şekilde bağlı olması önemlidir. Minimum hata (eşit işareti), stratejinin optimizasyonunda yer alan geçmiş verilerin optimal uzunluğu ile elde edilir: P=k*W^2/d=k*W, burada k-sabiti yaklaşık olarak 4'e eşittir.

Dolayısıyla, geçmiş veriler üzerinde strateji test cihazında optimize edilmiş ileri testte bir TS için minimum tahmin hatası, geçmiş verilerin uzunluğu strateji test cihazındaki uydurma parametrelerinin sayısından dört kat daha büyükse yerine getirilecektir.

Test cihazında 5 parametreyi optimize edersek (örneğin, tik dönemleri), o zaman geçmişin optimal uzunluğu, test cihazının üzerinde 4 * 5 = 20 işlem yapacağı şekilde olmalıdır. Bu, 1 ila ...200 gün arasında bir tarih gerektirebilir, tamamı benimsenen stratejiye bağlıdır. Bu sayıdaki bir azalma, testçinin tarihe uymasına yol açacaktır ve bir artış, yaklaşıklığın kalitesinde bir bozulmaya ve bunun sonucunda tahminin doğruluğunda bir bozulmaya yol açacaktır.

 
basit olsun, optimizasyon bölümünün uzunluğunu seçmek için hangi hususlardan yola çıkarak küçük bir sır vereceğim, optimizasyon nedir ?????? Evet, bu bir ayarlama ve başka bir şey değil, bu yüzden ayarlamayı bu şekilde yapıyorum, geçen yılın grafiğini H1'de alıyorum (eğer bu TS için ana zaman dilimi ise), sonra onlar için 2 kalın alan ayırıyorum - biri al, diğeri sat ve bu bölümlerin her birinde bir galimuyu fit yapıyorum. alımlar ve satışlar için - 2 set ayarlanabilir değer alıyorum ve gelecekte yalnızca bazı hindiler tarafından daha yüksek zaman diliminde filtrelenen seti dahil ediyorum, bu örnekte D1'i yılda ortalama %150 oranında filtreliyorum, ancak bunun için yeterli somun ekmek! :-hakkında)

 
будьте проще, открою маленький секрет

Bu dünyayı deneyimlemenin birçok yolu var.

Birisi Aşk aracılığıyla bilir. Bazıları meditasyon yoluyla vb. İlgi miktarını mantık ve matematik yoluyla değerlendirmenin bir yolunu verdim. Yani sırrınız bir sır değil, sadece bir yön daha...

PS Yukarıda bahsettiğim şey sadece bir parametre optimizasyonu eylemidir. Optimize edilmiş bir Uzman Danışmanın çalışmasını değerlendirmek için bir puan yeterli değildir, istatistik toplamanız gerekir ve istatistiksel olarak anlamlı bir sonuç, her geçişte yeniden optimizasyon ile bağımsız veriler üzerinde yüzlerce çalışmayla başlar...

Bu nedenle, test cihazında yeterli optimizasyonun tarifi basit olmayacaktır.

 

Ayrıntılı açıklama için hepinize, özellikle Neutron'a çok teşekkür ederim. Geçenlerde forumda çok ilginç bir fikir buldum, şimdi onu koda çeviriyorum. Paralel olarak bir demoda test ettim, sonuç çok iyi, 3 günde yaklaşık %150, ancak bazı nüanslar var ... Yeni bir konu oluşturmamak için burada soracağım:

Giriş noktası belirlenirken n nokta mesafede zaten aynı yönde açık bir emir olup olmadığını öğrenmek gerekiyor aşağıdaki kod çalışmıyor ama nedenini anlayamıyorum:

boolbuy=true;

for(int cnt=0;cnt<OrdersTotal();cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY && OrderOpenPrice()<=Bid && Bid-OrderOpenPrice()<50*Puan) buy=false;
}
if (satın al) OrderSend(Symbol(),OP_BUY,0.1,Ask,3,0,0,"MyAdvisor",0,0,Mavi);

Sonuç olarak, olası açık lot sayısı 10 (örneğin) ile bir danışman başlattığımda, hepsini bir noktadan açar ve benim için bir emir açmam için bir sonrakini sadece mevcut fiyat arasındaki fark varsa ve mevcut açık siparişin fiyatı 50 puandan fazlaydı

 

nötron için

Bu iki tür hata herhangi bir TS için mi yoksa yalnızca sinir ağları için mi geçerli?

 
budimir Parametreleri belirlemek için trend alanlarını mı seçiyorsunuz? Yön değişikliği alanlarını ve yan eğilim alanlarını atıyor musunuz?
 
khorosh >> :
budimir Parametreleri belirlemek için trend alanlarını mı seçiyorsunuz? Yön değişikliği alanlarını ve yan eğilim alanlarını atıyor musunuz?

En şişman trend alanlarını seçiyorum, üstelik montaj alanında sadece 20-30 işlem elde ediliyor, aksi takdirde montaj alanındaki numune en az 100-1000 işlem olmalıdır.

matematiksel kesinlik - fse bu saçmalık, peki, diyelim ki geleceğe doğrudan bitişik bir uydurma alan aldınız, piyasanın bir aşamasını belirlediniz - bir trend mi yoksa bir yan trend mi yoksa yön değişikliği mi ve sırada ne var? ??? - piyasa durağan DEĞİLDİR ve gelecek bölümde nereye yön vereceği = XZ!


ITeXPert'e > peki, 3 günde %150 sırasına gülmeyin, ben yaklaşık %150 yazdığımda bu %'den sonra bir kelime vardı

yılda ve aracımda yılda %150 ile 3 gün uzunluğunda bir düzineden fazla bu tür bölüm olacak! :hakkında)


Neden: