![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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 uzun zaman önce bir Expert Advisor'da çerçeve kullandığımda yazmıştım. Özü tam olarak hatırlamıyorum, görünüşe göre tüm kareler bana gelmeye başlamadı (ve en iyi sonuçlar). Eski gönderileri arayacağım ve netleştirmeye çalışacağım.
Ama tam olarak hatırlıyorum, Uzman Danışmanımda açıkça tekrarlanabilirdi - arama sayısı belirli bir sayıyı aştığında ve bilimsel bir şekilde görüntülendiğinde genetiğim bozuldu. Değişkenin yalnızca çok sayıda adıma sahip olması değil, aynı zamanda değişken sayısının da büyük olması önemlidir.
Temiz.
"Büyük" genetikle ilgili çerçevelerle ilgili bir sorun var.
Düzelteceğiz.
"Hiç çalışmıyor" ne anlama geliyor?
Hatayı nasıl yeniden oluşturabilirsiniz?
https://www.mql5.com/ru/forum/321656/page17#comment_13569022
Artık çerçeveleri kontrol etmeyeceğim, reddettim.
Ve her zamanki genetikle, son yapıda kontrol ettim. İşte "bit taşması" olmayan sonuç
Kesintiden sonra:
"Taşma" ile:
Uzman tarafından kesintiye uğratılan birkaç geçişten geçtikten sonra (giriş değişkenlerinin doğruluğunu kontrol ederek), genetik sonsuza kadar durdu. Kesintiden sonra:
Gerçek sonuç yok.
Advisors/MAPSARSizeOptimized.ex5'i örnek olarak denedim, işe yarıyor. "Bit derinliği taşması" ve çerçevelerle ilgili sorunun yalnızca Uzman Danışmanım tarafından yeniden üretildiği açık, ancak sorunun nasıl bulunacağı... Orada her şey çok karmaşık, OnTradeTransaction vb. Çerçeveleri de kaldırdım. Kodu gösteremiyorum ve devasa, bir megabaytın altında. Ve tekrarlanabilir bir örneğe inmek umutsuzca uzun. Vaktim olursa, OnTradeTransaction'ı kaldırmaya çalışacağım, belki başka şeyler de olabilir.
Gerçek şu ki, geçiş sayısını aşmazsanız her şey yolunda gider.
Ve çerçeveler 2286 dahil olmak üzere (aşmadan) iyi çalıştı.
...
sadece bir problem varken - bir süre sonra GA küçük bir optimizasyon parametresi grubu etrafında birleşmeye başlayabilir - bence bu normaldir, tüm GA'lar bu şekilde çalışır ve bu onların kullanım problemidir
...
Bazı ekstremumlara yakınsama, herhangi bir optimizasyon algoritması için tamamen normal bir olgudur, bu bölümün global veya yerel olmadığını/olmadığını varsaymak için herhangi bir ön koşul yoktur.
AO'nun, bir ekstremum olsun veya olmasın, belirli bir alanda çiğneme başlangıcında mutasyonların yüzdesini (veya arama mahallelerinin genişlemesini artırmaya izin veren mantıkta başka bir eşdeğeri) artırmaya izin veren bir mekanizmaya sahip olması başka bir konudur. Daha iyisinin bulunup bulunmayacağı önceden bilinmez, ama kesinlikle başka yerlerde aramanın zamanı geldi.
AO, herhangi bir sorun yok, bir başkasında sorun var - optimizasyon kriterinin çok boyutlu uzaydaki olası düzlemlerin mümkün olduğunca az kesişeceği şekilde tanımlanması, bu araştırmacının sorumluluğundadır, örneğin, maksimum bakiye kriterini belirlediler, bu kriter mutlak olarak birkaç veya daha fazla puana karşılık gelebilir, ancak sadece bazıları gerçekten değerli, yani 98756423 bakiyesine 1523 işlem ile% 11'lik bir düşüş ile ulaşıldı ve aynı 12 işlemle bakiyeye ulaşıldı ancak %95'lik bir düşüşle hangi seçenek tercih edilir? - böylece optimizasyon kriterini, karşılık gelen parametre vektörlerinin düzlemlerinin kesişimini hariç tutacak şekilde sunmak, yalnızca küresel uç noktaya yakınsamayı kolaylaştırmak ve böylece hızlandırmakla kalmaz, aynı zamanda ticaretin açık değişkenlerini elde etmek için de mümkündür. sistem parametreleri.
Uzman tarafından kesintiye uğratılan birkaç geçişten geçtikten sonra (giriş değişkenlerinin doğruluğunu kontrol ederek), genetik sonsuza kadar durdu. Kesintiden sonra:
Gerçek sonuç yok.
Bunun hakkında forumda bir yere yazıp yazmadığımı hatırlamıyorum ama bu gerçekten bir sorun ve MT'de neden bu kadar uygulandığı açık değil. Teoride, EA "geçersiz parametreler" hata kodunu döndürdüyse, popülasyonun tamamlanması için test cihazının karşılığında başka bir örnek oluşturması gerekir.
Bunun hakkında forumda bir yere yazıp yazmadığımı hatırlamıyorum ama bu gerçekten bir sorun ve MT'de neden bu kadar uygulandığı açık değil. Teoride, EA "geçersiz parametreler" hata kodunu döndürdüyse, popülasyonun tamamlanması için test cihazının karşılığında başka bir örnek oluşturması gerekir.
Tüm yanlış parametre kombinasyonları için INIT_PARAMETERS_INCORRECT döndürülürse, çok fazla vardır ve oluşturma bir hata ile sona erer. Bu yüzden INIT_PARAMETERS_INCORRECT'i yalnızca sınırların dışındaysa yanlış bir parametrede döndürürüm. Ve eğer kombinasyon yanlışsa (bir parametre diğerini geçmemelidir), geçişi durdurur, INIT_SUCCEEDED ve Custom = -N döndürürüm. Muhtemelen genetiği bozar, ancak herhangi bir seçenek göremiyorum. Daha doğrusu, yanlış kombinasyonlardan kurtulma seçeneği vardır (belirli bir durumda - bir parametreyi diğerine delta yapmak: v1=X, v2=Y+v1), ancak bu çok güçlü bir mutajendir. İki parametre birbirine sıkı sıkıya bağlı olacak ve biri değiştiğinde her şey yoluna girecek. Bu seçeneği bir hata yerine sahte bir sonuç lehine bıraktım.
Tüm yanlış parametre kombinasyonları için INIT_PARAMETERS_INCORRECT döndürülürse, çok fazla vardır ve oluşturma bir hata ile sona erer. Bu yüzden INIT_PARAMETERS_INCORRECT'i yalnızca sınırların dışındaysa yanlış bir parametrede döndürürüm. Ve eğer kombinasyon yanlışsa (bir parametre diğerini geçmemelidir), geçişi durdurur, INIT_SUCCEEDED ve Custom = -N döndürürüm. Muhtemelen genetiği bozar, ancak herhangi bir seçenek göremiyorum. Daha doğrusu, yanlış kombinasyonlardan kurtulma seçeneği vardır (belirli bir durumda - bir parametreyi diğerine delta yapmak: v1=X, v2=Y+v1), ancak bu çok güçlü bir mutajendir. İki parametre birbirine sıkıca bağlanacak ve biri değiştiğinde her şey yoluna girecek. Bir hata yerine sahte bir sonuç lehine bu seçenekten uzaklaştım.
döndürülecek iyi bir değişken - DBL_MAX , bir hata yerine geçersiz bir değişkende.
genel olarak, MT test cihazının çoklu para birimi tik-tik güvenilirliğinin tüm cazibesini korurken harici bir ha uygulamayı başardım, ancak bulut dahil tüm işlemci çekirdeklerini ve / veya ağ aracılarını kullanmak mümkün geçişlerin erken tamamlanması veya yetersiz personel nedeniyle acentelerin boşta kaldığı durumlardan kaçınırken, ha.
bilgi var, sadece TSSSSS .... düzenli optimize edicide çeşitli AO türleri ve hatta parametrelerle uygulanması planlanıyor, ancak bu yanlış.
döndürülecek iyi bir değişken - DBL_MAX , bir hata yerine geçersiz bir değişkende.
ve rastgele bir değer döndürürseniz - AO için daha mı kötü olur?
ve rastgele bir değer döndürürseniz - AO için daha mı kötü olur?
çok daha kötü.
amacımız "mosk" AO'yu toz haline getirmekse, o zaman en iyi yol rastgele bir sayı döndürmektir.
döndürülecek iyi bir değişken - DBL_MAX , bir hata yerine geçersiz bir değişkende.
Bu çok fazla, grafik ölçeklendi, böylece faydalı sonuçları göremiyorsunuz. En kötü Custom'dan biraz daha büyük bir değer döndürüyorum. Ana şey, iyileştirme için doğru yönü belirlemektir.
ve rastgele bir değer döndürürseniz - AO için daha mı kötü olur?
Peki ya anlamı? Ana şey doğru yöndür, bu yüzden GA'ya burada sadece zayıf olanı değil, en kötü sonucu gösterdiğini göstermeniz gerekir.
"Hiç çalışmıyor" ne anlama geliyor?
Hatayı nasıl yeniden oluşturabilirsiniz?
OnTradeTransaction kaldırıldı , yardımcı olmadı. Daha fazla düşüneceğim.