MT4 için hızlı ve ücretsiz bir kitaplık olan sinir ağı uzmanlarını memnun etmek için - sayfa 8

 
newerty >> :

Lütfen bana söyle. Ve danışmanın aynı anda birkaç enstrüman üzerinde işlem yapmasını nasıl sağlayabilirim?

Örneğin, altın, gbpusd, nzdusd, audusd, vb...

Her çiftin belli ki kendi S/L'si var

MT4'ü klonlayın... EA'yı klonlayın...???? Ve aynı anda koşmak?

Danışmanı farklı tablolara koymanız yeterli.

Her çiftte StopLoss farklıdır.


İmkansız olan tek şey, danışmanın işgal ettiği çifte başka bir danışman asmak veya manuel olarak ticaret yapmaktır. sihirli sayılar kullanılmaz. Onlar. her çift için birden fazla danışman yoktur.

 

Yuriy, lütfen çok sayıda işlem aldığınız ayarlara (zaman aralığı, dönem vb.) bir örnek verir misiniz?

 
Solver.it >> :

Yuriy, lütfen çok sayıda işlem aldığınız ayarlara (zaman aralığı, dönem vb.) örnek verir misiniz?

Bu konunun 6. sayfasında backtest'ten bir alıntı var. Her şey orada belirtilmiştir.

 

eğer çizgi

if (IsOptimization() || IsTesting()) {


ile ikame edilmiş

if (IsOptimization()){


o zaman tek bir çalıştırmanın sonuçları daha kararlı hale gelecektir.

Başka bir sorunla karşılaştım: ağ verilere çok hızlı bir şekilde uyum sağlıyor, test cihazında bir cetvel gibi bir grafik oluşturuyor, ancak ileri ve geri testler eğrinin tamamen farklı bir yapısını gösteriyor.

 
Kharin >> :

eğer çizgi

if (IsOptimization() || IsTesting()) {


ile ikame edilmiş

if (IsOptimization()){


o zaman tek bir çalıştırmanın sonuçları daha kararlı hale gelecektir.

Başka bir sorunla karşılaştım: ağ verilere çok hızlı bir şekilde uyum sağlıyor, test cihazında bir cetvel gibi bir grafik oluşturuyor, ancak ileri ve geri testler eğrinin tamamen farklı bir yapısını gösteriyor.

Bu hiç akıllıca değil çünkü. bu işlevin silinmesi, test modunda uyarlamayı devre dışı bırakır. Ama bu şeyi bilinçli olarak danışmana bıraktım. Uyarlanmış testin farklı çalıştırmalarındaki sonuçlar ne kadar kararsızsa, ağın özellikle hiçbir şey öğrenmemiş olma olasılığı o kadar yüksek olur, çünkü sadece başka bir dönem ve her şey tamamen farklı. Onlar. kararsız sonuçlar test örneğindeki ızgaranın kasıtlı belirsizliğini gösteriyorsa, o zaman ileriye doğru hiç söz edemezsiniz - oradaki nöronun alıntılarını bile görmedim.

 
Zevk meselesi tabii ama ben bu seçimin olasılığını dış değişkenlerde çıkarırdım. Ancak ben öyle yaptım :)
 
Reshetov >> :

Bir kez daha tekrarlıyorum: bu satır herhangi bir bilgi yükü taşımamaktadır. Ret'in işareti değişmez ve ret'in pozitif veya negatif değerine bağlı olarak fırsatlar kapanır.

İşaretle ilgili her şey açıktır. Ayrıca, ikili olmadan, bu işlevin ızgara komitesinin ortalama cevabının anlamlı bir değerini, ancak ikili - çöp ile döndürdüğü açıktır. Aynı işlevin eğitimden sonra normal bir grid çalışmasında çağrıldığı ve küçük ret değerlerini (hem pozitif hem de negatif) üzerlerinde anlaşma oluşturmadan atmak daha iyi olduğu göz önüne alındığında, bu satır hala önemli bilgiler içermektedir.

Şebekeleri neden sadece olumsuz örnekler üzerinde eğittiğinizi hala cevaplamadınız mı?

 
Kharin >> :

Başka bir sorunla karşılaştım: ağ verilere çok hızlı bir şekilde uyum sağlıyor, test cihazında bir cetvel gibi bir grafik oluşturuyor, ancak ileri ve geri testler eğrinin tamamen farklı bir yapısını gösteriyor.

Evet, mevcut haliyle danışman eğitimin kalitesini değerlendirmemektedir. Veri toplama mantığını değiştirirsek, birkaç çağrı ekleyebiliriz: f2M_test (eğitim verileriyle değil doğrulama verileriyle) ve f2M_get_MSE, hata büyümeye başladığında eğitimi durdurarak.

 

Yuri, konu dışı bir soru sormak istiyorum: SL için ayrı bir ızgara düzenlemek mümkün mü (örneğin, oynaklık açısından - tahminlerde bulunun ve SL'yi buna göre ayarlayın)?

Belki bu, desen ızgaralarının daha kararlı öğrenmesine yardımcı olur?

 

Yuri, görünüşe göre koddaki yanlışlık için başka bir övgü daha buldum ... Garip öğrenme sonuçları için kodumu karıştırıyordum ve şunu buldum:

double ann_pnn() {
...
    ret = 2 * ret / AnnsNumber;

ihtiyaç:

ret = ret / AnnsNumber;

Gerçek şu ki, Uzman Danışmanındaki kütüphanenin yazarı, benim için bilinmeyen nedenlerden dolayı, kısa ve uzun pozisyonlar için ızgarayı karşılık gelen döngülerle sırasıyla çift ve tek olarak ikiye böldü:

for (i = 0; i < AnnsNumber; i += 2) - для четных С ПРИРАЩЕНИЕМ "2" !!!
for (i = 1; i < AnnsNumber; i += 2) - для нечетных

Dolayısıyla paydadaki ikisi. Bizim durumumuzda buna ihtiyacınız yok. Bunun eğitimin sonuçlarını büyük ölçüde etkilemeyeceği açık olsa da ...

Benim için genel olarak, bu döngünün anlamı (ann_pnn ve run_anns işlevleri) tamamen kaçar ...

for (i = 0; i < AnnsNumber; i++) {    ret += AnnOutputs[i];    }

Tek çıkış nöronlu bir ızgaramız varsa, neden 16 çıktımız var?!... Yoksa 16 ızgaradan oluşan bir komite mi? Aslında neye meylediyorum... O halde soru şu: ne için? Şimdiye kadar, anlamını bulana kadar bu parçayı da değiştirmeden bıraktım ... Belki birinin bu konuda bir fikri var mı? Lütfen paylaşın...

Neden: