Elliot Dalga Teorisine dayalı ticaret stratejisi - sayfa 67

 
Muhtemelen, gerçek zamanlı olarak, bu tür sayılar kabul edilebilir (mükemmellik için bir sınır olmamasına rağmen :), ancak geriye dönük testlerde, anladığım kadarıyla, kısa bir örneklemde bile durum oldukça zor. Umarım bilgisayar hesaplamalarının kullanımının bir rakibinden şüphelenmediniz mi? :). Dalı okuduktan hemen sonra, algoritmanın önemli ölçüde hızlandırılmasının istendiği izlenimini edindim.

Elbette, özellikle geriye dönük testler için daha hızlı bir hesaplama algoritması elde etmek istediğimize şüphe yok, ancak diğer yandan, bu teknik, geçmiş verilere geleneksel uydurma için gerekli olduğu gibi, test cihazında multi-milyon geçiş gerektirmez. , çoğu MT4 kullanıcısının kullanmayı sevdiği, bu ürünün yaratıcılarına baskı yaparken özenle (açgözlülük için hap verin evet GOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO uzakta!!!);o). Sonuçların uygulanabilirliği açısından bu yönteme göre oluşturulan bir Expert Advisor'ın bir çalışmasının, yazarının bu hayatta sonuçlarını bekleyebileceği 1000000000000 çalışmada optimize edilmiş Expert Advisor'ı kesinlikle aşacağının farkına varmak gerekir. ;Ö))). Bunu rastgele bir tahmin sistemi yaratma konusundaki kendi deneyimimden söylüyorum, bu arada, bu arada, aynı başlıkta açıklamasını verdim. Matematiksel istatistik yöntemleri üzerine kurulu bir Uzman Danışmanın optimizasyonu, temel olarak, seçim için minimum parametrelerle (parametrelerin her biri ayrıca çok sınırlı bir varyasyon alanına sahipken) algoritmanın mantıksal olarak iyileştirilmesinden oluşur ve aramadan değil farklı osilatörlerin ve hareketli ortalamaların bazı "optimal" değerleri için standart geçmiş uygunluğunun gerektirdiği şekilde n-boyutlu uzayda global maksimumda bulunan bazı katsayıların yanı sıra. Yukarıdaki gönderilerde verilen mevcut sonuç, muhtemelen mevcut geçmiş üzerinde algoritmanın elliden fazla tam çalıştırılmasıyla elde edildi. Her çalıştırmadan sonra algoritma düzeltildi ve düzeltildi. Ve şimdiki zamanda, aynı şeyi yapmaya devam ediyorum. Günde 2-3 koşu yapıyorum, sonuçları analiz ediyorum ve algoritmayı iyileştiriyorum. Henüz her şeyde hata ayıklanmadı, ancak gerçek hayatta az çok çalışan ilk sürümü zaten başlattım. Şu ana kadar herhangi bir anlaşma yapılmadı. EA, euronun geri çevirmeye karar vermesini bekliyor.
 
solandr , test süresini hızlandırmak / optimize etmek için - X, X ^ 2 vb. içeren özel bir gösterge veya diziler kullandınız mı?
 
Özel göstergeler kullanmıyorum, çünkü aramalarının her birinin test cihazının günlüğünde gösterildiğini yazdım. Murrey seviyeleri göstergesini EA'nın kendisine ekledim. Eh, özellikle Expert Advisor'ın hesaplamasını hızlandıran diziler icat etmedim. Dürüst olmak gerekirse, bu konuda ne düşüneceğimi bilmiyorum. Sadece önceki çubukların (kanal sınırları) hesaplanmasıyla ilgili bilgiler dizilerde doğal olarak saklanır ve yeni bir çubukta yeniden hesaplanmaz. Hızlanma açısından algoritmamdan neredeyse her şeyi zaten sıktığımı düşünüyorum ve artık daha hızlı yapamıyorum. Ancak X, X ^ 2 içeren diziler hakkında tam olarak net değilim. Büyük bir X,X^2 dizisindeki değerleri aramak, hesaplama süresini (kare alma) ne ölçüde azaltabilir? Tahmini karşılaştırmalı verileriniz var mı? Onları tanımak ilginç olurdu.
 
Yani, her yeni kanal için her yeni çubukta Y=A*X+B biçiminde?

Şimdi aramaya başladım ve danışmanı optimize etmenin mümkün olduğunu anladım. Kazanç (N+1)/2 içinde olmalıdır, burada N, kanalın maksimum uzunluğudur (geçerli sürümde 300 kullanıyorsunuz, yani kazanç 150 kat olmalıdır).
 
Anladığım kadarıyla, her satırı birkaç milyon olacak bir kübik dizi düzenlemeyi ve içinde 3 farklı A, X, B parametresi olan hazır Y cevaplarını aramayı öneriyorsunuz. Ya da belki ben tam olarak anlamadım?
 
Hayır, her çubukta yalnızca bir kez hesaplama yapmanızı ve ardından bu değeri N kez kullanmanızı öneririm (bir dizi oluşur, şüphesiz :))
 
Kanallarımız her çubukta biraz hareket edip sınırlarını değiştirirse bu nasıl mümkün olabilir?
 
Algoritmayı tamamen değiştiremedim (hala ciddi olarak seçmem gerekiyor), ancak optimize edilmiş olanın bir parçasını normal algoritmaya ekleyebildim. Yani, optimize edilmiş algoritma için tüm ön hesaplamalar gerçekleştirilir, ancak kanal olağan şekilde hesaplanır. İşte günlük:
2006.07.04 23:04:37 ChannelStDev3 GBPCHF,M15: Yürüt deinit()
2006.07.04 23:04:37 ChannelStDev3 GBPCHF,M15: Normal komut dosyası süresi + optimizasyon 579 ms
2006.07.04 23:04:36 KanalStDev3 GBPCHF,M15: a=-0.0001 b=2.2628 lastBar1 firstBar=105 StDev=0.001
2006.07.04 23:04:36 ChannelStDev3 GBPCHF,M15: 1000 bar üzerindeki kriterleri karşılayan 140 kanal bulundu
2006.07.04 23:04:36 ChannelStDev3 GBPCHF,M15: 1 seri halindeler
2006.07.04 23:04:36 ChannelStDev3 GBPCHF,M15: başlatıldı
2006.07.04 23:04:35 ChannelStDev3 GBPCHF,M15: başarıyla yüklendi
2006.07.04 23:04:28 ChannelStDev GBPCHF,M15: kaldırıldı
2006.07.04 23:04:28 ChannelStDev GBPCHF,M15: başlatılmamış
2006.07.04 23:04:28 ChannelStDev GBPCHF,M15: Yürüt deinit()
2006.07.04 23:04:28 ChannelStDev GBPCHF,M15: Normal komut dosyası süresi 547 ms
2006.07.04 23:04:27 KanalStDev GBPCHF,M15: a=-0.0001 b=2.2628 lastBar1 firstBar=105 StDev=0.001
2006.07.04 23:04:27 ChannelStDev GBPCHF,M15: 1000 bar üzerindeki kriterleri karşılayan 140 kanal bulundu


Bu nedenle optimize edilen algoritmanın süresi yaklaşık (579-547)=32 milisaniye olmalıdır. Kaba kazanç 547/32=17 defadır. Bu kesinlikle beklediğim gibi 500 kat değil, yine de kontrol edilmesi gerekiyor. Belki de beklediğimden daha fazla zaman alan, zamanla sıkıştırılamaz prosedürleri hesaba katmadım. Yarın kontrol etmeye çalışacağım.
 
İki hesaplama bloğunu ayrı ayrı ölçtüm.
2006.07.05 14:34:17 ChannelStDev3 EURJPY,M15: deinitialized
2006.07.05 14:34:17 ChannelStDev3 EURJPY,M15: Yürüt deinit()
2006.07.05 14:34:17 KanalStDev3 EURJPY,M15: a=0.0071 b=146.7474 lastBar1 firstBar=50 StDev=0.1056
2006.07.05 14:34:17 ChannelStDev3 EURJPY,M15: 1000 bar üzerinde kriteri karşılayan 820 kanal bulundu
2006.07.05 14:34:17 ChannelStDev3 EURJPY,M15: 8 bölüm halindeler
2006.07.05 14:34:17 ChannelStDev3 EURJPY,M15: Normal algoritma süresi 390 ms
2006.07.05 14:34:17 ChannelStDev3 EURJPY,M15: Optimize edilmiş algoritma süresi0 ms
2006.07.05 14:34:17 ChannelStDev3 EURJPY,M15: başlatıldı
2006.07.05 14:34:15 ChannelStDev3 EURJPY,M15: başarıyla yüklendi


Optimize edilmiş bloğun doğru hesaplandığından emin olmak için kalır. Aynı zamanda, nesnelerle çalışmanın çok fazla zaman aldığını öğrendim (optimize edilmemiş versiyonun neredeyse üçte biri) - geri test sırasında çizim yapmak istenmez. Rağmen
 
Print 'ohm ile yeniden düzenlendi

14:54:04 KanalStDev3 EURJPY,M15: k=64 a=0,002 b=146.8379 sigma=-1370529.6008
14:54:04 KanalStDev3 EURJPY,M15: k=63 a=0.0025 b=146.829 sigma=-1348950.2071
14:54:04 KanalStDev3 EURJPY,M15: k=62 a=0.0029 b=146.8197 sigma=-1327370.2369
14:54:04 KanalStDev3 EURJPY,M15: k=61 a=0.0033 b=146.8105 sigma=-1305795.8008
14:54:04 KanalStDev3 EURJPY,M15: k=60 a=0.0038 b=146.8016 sigma=-1284233.323
14:54:04 KanalStDev3 EURJPY,M15: k=59 a=0.0042 b=146.7921 sigma=-1262664.9732
14:54:04 KanalStDev3 EURJPY,M15: k=58 a=0.0046 b=146.7844 sigma=-1241133.5221
14:54:04 KanalStDev3 EURJPY,M15: k=57 a=0,005 b=146.7769 sigma=-1219610.1431
14:54:04 KanalStDev3 EURJPY,M15: k=56 a=0.0055 b=146.7678 sigma=-1198064.492
14:54:04 KanalStDev3 EURJPY,M15: k=55 a=0.0058 b=146.7611 sigma=-1176563.0841
14:54:04 KanalStDev3 EURJPY,M15: k=54 a=0,0062 b=146,754 sigma=-1155059.1345
14:54:04 KanalStDev3 EURJPY,M15: k=53 a=0.0066 b=146.7469 sigma=-1133558.635
14:54:04 KanalStDev3 EURJPY,M15: k=52 a=0,007 b=146.7398 sigma=-1112061.7881
14:54:04 KanalStDev3 EURJPY,M15: k=51 a=0.0073 b=146.7342 sigma=-1090593.6002
14:54:04 KanalStDev3 EURJPY,M15: k=50 a=0.0074 b=146.7327 sigma=-1069186857
14:54:04 KanalStDev3 EURJPY,M15: k=49 a=0.0074 b=146.733 sigma=-1047808.1245
14:54:04 KanalStDev3 EURJPY,M15: k=48 a=0.0073 b=146.7346 sigma=-1026446.748
14:54:04 KanalStDev3 EURJPY,M15: k=47 a=0.0069 b=146.7404 sigma=-1005141.2611
14:54:04 KanalStDev3 EURJPY,M15: k=46 a=0.0064 b=146.7494 sigma=-983876.6836
14:54:04 ChannelStDev3 EURJPY,M15: Optimize edilmiş algoritma süresi 31 ms
14:54:05 ChannelStDev3 EURJPY,M15: Normal algoritma süresi 875 ms
14:54:05 ChannelStDev3 EURJPY,M15: 6 seri halindeler
14:54:05 ChannelStDev3 EURJPY,M15: 1000 bar içinde kriterleri karşılayan 824 kanal bulundu
14:54:05 KanalStDev3 EURJPY,M15: a=0.0064 b=146.7494 lastBar1 firstBar=46 StDev=0.1044
14:54:05 ChannelStDev3 EURJPY,M15: deinit()'i yürütün
14:54:05 ChannelStDev3 EURJPY,M15: başlatılmamış
14:54:05 KanalStDev3 EURJPY,M15: kaldırıldı


Doğru, sigma ile ilgili sorunlar var :)