Hatalar, hatalar, sorular - sayfa 1509
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım 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
platforma nasıl giriş yapamıyorum, web sitesi web terminalinin bu MetaTrader Sunucusu tarafından desteklenmediğini söylüyor. Lütfen sunucuyu güncellemek için komisyoncunuzla iletişime geçin, platformun kendisinde bağlantı olmadığını mı söylüyor?
Sevgili geliştiriciler, OnDeinit işlevinin işlenme sırası nedir - nesneleri ve diğer değişkenleri silme, belleği temizleme vb.
OnDeinit, belirli durumlarda çağrılan bir MQL4/5 programında sıradan bir işlevdir. Burada, programladığınız gibi, öyle olsun.
Soruyu belirtin. Tam olarak neyle ilgileniyorsunuz?
OnDeinit, belirli durumlarda çağrılan bir MQL4/5 programında sıradan bir işlevdir. Burada, programladığınız gibi, öyle olsun.
Soruyu belirtin. Tam olarak neyle ilgileniyorsunuz?
Açıkça silinen (tahsis edilen bellekte oluşturulan) nesnelerle her şey açıktır. Otomatik bellekte oluşturulan nesneleri silme ve belleği boşaltma süreciyle ilgilenir.
Onlar. Örneğin, iki nesne ve temel tipte bir değişken vardır:
Program silindiğinde belleği boşaltma ve tüm nesneleri silme sırasının ne olacağı ile ilgileniyor.
...
Terminal hangi durumlarda donabilir? - görünüşe göre terminalin asılması gereken düzenli durumlar var.
Gözlemlerime göre, her zaman şu durumlarda askıda kalıyor (belirsiz bir süre asılı kalıyor):
1. Sunucuya bağlanma.
2. P1. hesaplar arasında geçiş yaparken.
3. Terminalin başlatılması sırasında .
Terminal başlangıçta en son askıda kaldığında. Görev yöneticisine baktım, terminal bayt bayt bellek yiyordu, birkaç dakika sonra 8GB belleğin tamamını yutmuştum ve işletim sistemi terminalle birlikte askıda kaldı. Sistem birimindeki "sıfırla" düğmesine basmak zorunda kaldım.
Bilgisayarı yeniden başlattıktan sonra terminali başlattım - takılma hikayesi kendini tekrarladı, sistem onu terminalle birlikte uyandırmak için yaptığım hızlı girişimlerime yanıt vermeyi kesti.
Bilgisayarı yeniden başlattıktan sonra, terminalin tüm yapılandırma dosyalarını sildim, başlattım - kapatma hikayesi kendini tekrarladı.
Bilgisayarı yeniden başlattıktan sonra, ticaret sunucularının tüm geçmiş dosyalarını sildim ve ancak bundan sonra terminal normal çalışmaya tenezzül etti ve ardından yaklaşık 3 dakika düşündükten sonra.
Terminal, inşadan inşaa askıda kalıyor. Win10x64.
Terminal hangi durumlarda donabilir? - görünüşe göre terminalin asılması gereken düzenli durumlar var.
Gözlemlerime göre, her zaman şu durumlarda askıda kalıyor (belirsiz bir süre asılı kalıyor):
1. Sunucuya bağlanma.
2. P1. hesaplar arasında geçiş yaparken.
3. Terminalin başlatılması sırasında .
Terminal başlangıçta en son askıda kaldığında. Görev yöneticisine baktım, terminal bayt bayt bellek yiyordu, birkaç dakika sonra 8GB belleğin tamamını yutmuştum ve işletim sistemi terminalle birlikte askıda kaldı. Sistem birimindeki "sıfırla" düğmesine basmak zorunda kaldım.
Bilgisayarı yeniden başlattıktan sonra terminali başlattım - takılma hikayesi kendini tekrarladı, sistem onu terminalle birlikte uyandırmak için yaptığım hızlı girişimlerime yanıt vermeyi kesti.
Bilgisayarı yeniden başlattıktan sonra, terminalin tüm yapılandırma dosyalarını sildim, başlattım - kapatma hikayesi kendini tekrarladı.
Bilgisayarı yeniden başlattıktan sonra, ticaret sunucularının tüm geçmiş dosyalarını sildim ve ancak bundan sonra terminal normal çalışmaya tenezzül etti ve ardından yaklaşık 3 dakika düşündükten sonra.
Terminal, inşadan inşaa askıda kalıyor. Win10x64.
Kodu nasıl parçalara bölüp dosyaları doğru bir şekilde dahil edebilirim, bununla ilk karşılaştığımda deneyimli uzmanlara bir soru soruyorum.
İşte bir örnek
SONRA, sınıf başka bir sınıftan miras alınır ve bir yapı içerir, örnekte yapıyı azalttım, sonra yapının bir dizisiyle çalışmak için yöntemler var
Bu yöntemlerden 40-50 kadarını henüz bilmiyorum.
Her yöntemi dahil edilen bir dosyaya koymak veya bir şekilde kod yapısını, EA'nın kendisi daha sonra aramanın zor olduğu 10.000 -20.000 satır kod içermemesi için düzenlemek istiyorum.
Şu anda gördüğüm tek şey, referans olarak bir dizi yapı göndermek.
tip
Bunun en iyi seçim olduğunu düşünmüyorum.
Ne yapılabilir ?
Açıkça silinen (tahsis edilen bellekte oluşturulan) nesnelerle her şey açıktır. Otomatik bellekte oluşturulan nesneleri silme ve belleği boşaltma süreciyle ilgilenir.
Onlar. Örneğin, iki nesne ve temel tipte bir değişken vardır:
Program silindiğinde belleği boşaltma ve tüm nesneleri silme sırasının ne olacağı ile ilgileniyor.
OnDeinit'in bununla hiçbir ilgisi yok.
Belgeleri okudunuz mu?
Aynı Windows, terminal yalnızca yöneticiden başlatılır ve meta düzenleyici türündeki tüm dosyalar da yöneticidendir, sorun yoktur.
Kodu nasıl parçalara bölüp dosyaları doğru bir şekilde dahil edebilirim, bununla ilk karşılaştığımda deneyimli uzmanlara bir soru soruyorum.
İşte bir örnek
Yani, sınıf başka bir sınıftan miras alınır ve bir yapı içerir, örnekte yapıyı azalttım, o zaman yapının bir dizisiyle çalışmak için yöntemler var
Bu yöntemlerin 40-50 kadarını henüz bilmiyorum.
Her yöntemi dahil edilen bir dosyaya koymak veya kod yapısını, EA'nın kendisi daha sonra aramanın zor olduğu 10.000 - 20.000 satır kod içermemesi için başka bir şekilde düzenlemek istiyorum.
Şu anda gördüğüm tek şey, referans olarak bir dizi yapı göndermek.
tip
Bunun en iyi seçim olduğunu düşünmüyorum.
Ne yapılabilir ?
Sınıflar geniş ise, her sınıf için ayrı bir liste oluşturmak daha iyidir ve bu sınıfın nesnelerinin kullanıldığı kodda, sınıf listesini #include ile bağlayın. Aynısı yapılar ve işlev kitaplıkları için de geçerlidir. Sınıflar ve yapılar yeterli değilse, tek bir listeye dahil edilebilirler. Ayrıca ortak tanımların ve makroların bir listesini de oluşturabilirsiniz.
Ve bir programla ilgili bütün bir listeler ailesine sahip olacağınızdan korkmayın, bu yaygın bir durumdur, ticaret sistemlerimde 15-20 listeleme artı arayüz için .bmp ve .gif dizinleri kullanıyorum. Tüm listeleri ayrı dizinlerde dağıtırım. Bu, hataları yakalarken ve yükseltme yaparken gezinmeyi kolaylaştırır.