Hatalar, hatalar, sorular - sayfa 222

 
vyv :

Geliştiricilere istek. MT5 üzerindeki çalışmalar tüm hızıyla devam ederken ve hala değişiklikler yapılırken, optimizasyon geçişlerinin sayısını artırmak harika olurdu.

Anladığım kadarıyla bir çok problemin çözümü 10.000 civarında seçenek, belki biraz daha fazla belki biraz daha az. Bir işlemcide birkaç saat arama ve en iyi seçenekler bulunur.

MQL5+OOP+Çok çekirdekli testin evrenselliği, MT5 aracılığıyla çözülebilecek yeni görev ufuklarına (örneğin, kalıp arama) bakmanıza olanak tanır.

Ama sorun şu:

Sitenizde yayınlanan makale bir genetik algoritma örneği içeriyor https://www.mql5.com/ru/articles/55 , burada 100 çubukta arama sorununu çözmek için 3^100 doğrudan numaralandırma yapıldı - işte bu LongInt'ten biraz daha fazla :) ve çözüm 17.000 yinelemede bulundu. Genetik algoritma, LongInt'e göre daha birçok seçenek arasından çözümler bulabilmektedir. Ve bu kısıtlama tamamen mantıksız ve modası geçmiş. Eh, bunun dışında, MT5 üzerindeki çalışmanın bu son aşamasında bunu yapmak zor olacak.

Geliştiricilerden büyük bir istek, bu çok zor değilse, lütfen geçiş sayısını en az 2^LongInt (güçte 2) yapın.


Serj_Che 2010.12.07 00:16 #
vyv:
Biri bana cevap verecek mi?

Burada bahsetmişler. https://www.mql5.com/en/forum/1997/page6/#comment_31644

Belki de soruyu oraya taşımak daha iyidir - taşınma önerisi.

Oh, demek ki bu iyileştirmeye birçok kişi tarafından ihtiyaç duyuluyor. Yine de yapmayı deneyebilir misin?

Renat Fatkhullin:

"Ürünün niteliksel olarak geliştirilebileceği sonucuna varırsak, yaparız . Ve her şeyi sıfırdan yazmamız gerekip gerekmediği önemli değil. Korkmuyoruz !

Geriye dönüp baktığımda, tüm çalışmalarımızın sürekli bir ürünleri iyileştirme arzusu, optimizasyon arzusu ile karakterize edildiğini söyleyebilirim. Sloganımıza koyduğumuz kelime bu: Optimize et ve Liderlik et!"

 

Bu hatalar nelerdir?

7 sızdırılmış dize kaldı
Anormal sonlandırma

 
dentraf :

Bu hatalar nelerdir?

7 sızdırılmış dize kaldı
Anormal sonlandırma

Yürütme sistemi 7 satır tarafından işgal edilen belleğin serbest bırakılmadığını tespit ederken program zamanından önce sonlandırıldı (bu, erken sonlandırmanın bir sonucudur).
 
long varLong = 124 ;
Print (varLong);

- Boş bir dize görüntüler.

 long varLong = 124 ;
Print (( int )varLong);
- Bir sayı görüntüler.

Lütfen düzeltin.
Long ile ilgili hala problemler olduğunu varsayıyorum, ancak hangileri henüz bulamıyorum, bir hindi hafıza yazma hatası veriyor ...

 
Vigor :
İyi. Bu bir özelliktir. Ama bilmek daha iyi bir şey.

Örneğin, kullanıcı arayüzden MA için dönem değerleri girerse, göstergeler için tutamaçlar oluşturur ve gösterge arabelleklerinin değerlerini kullanırsa, o zaman tesadüfen de olsa yaratmışsa (örneğin, bu konuda varsayılan ayarlarım var). form) aynı özelliklere sahip 2 gösterge (tutamakları bir nesne sargısına yerleştirilir), bu özelliğin bir sonucu olarak ikinci gösterge için birincinin tutamaç numarasını alır.

Aşağıdaki olası olay zincirleri.

Durum 1. İlk göstergeyi siler (ve program bir IndicatorRelease yapar) ve sonuç olarak ikinci gösterge otomatik olarak çalışmaz - arabellek kopyalama hatası.

Durum 2. İkinci göstergeyi kaldırır (ve program bir IndicatorRelease yapar), tutamaç sayacı azalır. İlki harika hissettiriyor. Farklı bir nokta ile üçüncü bir gösterge oluşturur. Kendisine bir tutamaç sayacı + 1 verilir, yani. yeni silinen göstergenin tutamaç numarası. Sonuç olarak, en kötüsü, farklı bir periyoda sahip, başarıyla oluşturulan üçüncü göstergenin, ilk , hala silinmemiş göstergenin değerlerini arabelleğe almasıdır .

Tutamaç numaralarını birleştirme özelliği, birleştirilmiş iki tanıtıcıdan birini silerken ve ardından yeni tutamaçlar oluştururken belirsiz durumlara yol açar.

Teşekkürler, düşüneceğiz.

 
mrProF :

- Boş bir dize görüntüler.

- Bir sayı görüntüler.

Lütfen düzeltin.
Long ile ilgili hala problemler olduğunu varsayıyorum, ancak hangileri henüz bulamıyorum, bir hindi hafıza yazma hatası veriyor ...

Teşekkür ederim. Düzeltilecektir.
 

362 oluşturun - pencere sekmesi sürüklenmesi çalışmayı durdurdu:

D&D yasağı simgesi görünür. Belki yanlış yapıyorum?

 

Yapıdaki önemli hatalar nedeniyle (bu sefer özellikle zaman serisi erişim işlevlerinde), Expert Advisor'ın gelişimi durur. Önceki sürüme (düzeltmenin yayımlanmasından önce) bir geri alma uygulamak gerekli olacaktır. En azından manuel modda, ancak daha kolay - önceki derlemenin bir yedeği saklanırsa.

Bu soru zaten gündeme getirildi ve taşındı, ancak IMHO bu önemli ve çok zor değil.

 
Dali :

Yapıdaki önemli hatalar nedeniyle (bu sefer özellikle zaman serisi erişim işlevlerinde), Expert Advisor'ın gelişimi durur. Önceki sürüme (düzeltmenin yayımlanmasından önce) bir geri alma uygulamak gerekli olacaktır. En azından manuel modda, ancak daha kolay - önceki derlemenin bir yedeği saklanırsa.

Bu soru zaten gündeme getirildi ve taşındı, ancak IMHO bu önemli ve çok zor değil.


tamamen destekliyorum

 
Dali :

Yapıdaki önemli hatalar nedeniyle (bu sefer özellikle zaman serisi erişim işlevlerinde), Expert Advisor'ın gelişimi durur. Önceki sürüme (düzeltmenin yayımlanmasından önce) bir geri alma uygulamak gerekli olacaktır. En azından manuel modda, ancak daha kolay - önceki derlemenin bir yedeği saklanırsa.

Bu soru zaten gündeme getirildi ve taşındı, ancak IMHO bu önemli ve çok zor değil.


Katılıyorum, ancak aynı zamanda, terminalin sürekli güncellenmemesi için otomatik güncellemeleri bir şekilde devre dışı bırakmanız gerekiyor.