, genel olarak, uygulanabilir bir çözüm, ama ... ama ürkütücü ve iğrenç görünüyor! )))
Evet, bu genellikle bir tür kalaydır... Bir makroda dönüş sarma - sapıklıklar hakkında çok şey bilmeniz gerekir) Böyle bir kodu daha sonra nasıl anlarsınız... O zaman en azından makronun adını daha öz hale getirmeniz gerekir. -açıklayıcı, TRY_OR_RETURN gibi
Alexey Navoykov : Evet, bu genellikle bir tür kalaydır... Bir makroda dönüş sarma - sapıklıklar hakkında çok şey bilmeniz gerekir) Böyle bir kodu daha sonra nasıl anlarsınız... O zaman en azından makronun adını daha öz hale getirmeniz gerekir. -açıklayıcı, TRY_OR_RETURN gibi
)))
Nasıl göründüğüne baktım ve kullanmıyorum, eski usul yazıyorum if(!myfunc()) return; OnTick()'te - sağlam if'lerin tüm kodu ... ayrıca oldukça dokunaklı ve komik görünüyor))))
Bu kodun neden şimdi bir uyarısı olduğunu açıklayabilir misiniz?
Yöntemlerin farklı imzaları vardır...
class A
{
public :
A( void ) {}
~A( void ) {}
//===============void Test( void ) {}
//===============
};
//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+ class B : public A
{
public :
B( void ) {}
~B ( void ) {}
//===============void Test( int a) {}
//===============
};
//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit ()
{
//---
B b;
b.Test(); //deprecated behavior, hidden method calling will be disabled in a future MQL compiler versions
b.Test( 5 );
//---return ( INIT_SUCCEEDED );
}
Bu gösterge sistemi çökertir. Ayrıca, ekran çözünürlüğünde bir değişiklik ve yanıp sönen piksellerle ve bilgisayarın gerekli yeniden başlatılmasıyla. Üstelik görünüşte zararsız olan Crash() işlevini çağırmazsanız , o zaman çökme olmaz. Şu şekilde oynandı:
göstergeyi başlat
bazı frenler başlayana kadar zaman dilimini değiştirmeye başlıyoruz
LTSC'de kilitlenmiyor, günlükte bir hata var: MemoryException4424265936 bayt mevcut değil, 0 heapmin sonucu
hepsi aynı, birkaç TF değişikliğinden sonra çöktü ve sistem zar zor yüklendi, yükleme tekerleği bir kez 100 devir yaptı, yüklenmeyeceğini düşündüm, kontrol etmemek daha iyi)
Fast235 : LTSC'de kilitlenmiyor, günlükte bir hata var: MemoryException4424265936 bayt mevcut değil, 0 heapmin sonucu
hepsi aynı, birkaç TF değişikliğinden sonra çöktü ve sistem zar zor yüklendi, yükleme tekerleği bir kez 100 devir yaptı, yüklenmeyeceğini düşündüm, kontrol etmemek daha iyi)
Evet, kaza çok zor. Riske atmamak daha iyidir. Her şey hafızayla ilgili elbette. Belleği aşağıdaki gibi tutamaçlarla temizlerseniz:
Ve Crash() işlevinin bununla ne ilgisi olduğu açık değildir, bu olmadan çökme olmaz, çünkü yalnızca göstergeler hakkındaki bilgileri okur. TF değiştirilirken bu işlevin yürütülmesinin OnDeinit'i yavaşlatması ve bu nedenle MT5'in belleği temizlemek için zamanı olmaması mümkündür. OnDeinit uyumsuzluğu ile ilgili uzun süredir sorunlar. Düzensizlik! Sonuçta, sistem uyumsuzluk nedeniyle çökmemelidir ...
Göstergelerle grafiği kaydırdığınızda işlemci çekirdeği neden %100 yüklüyor?
Sonuçta, göstergeler hesaplanır ve fikre göre çizilir, sadece bellekten yükleme yapılmalıdır.
Grafik çizerken işlemci yükü doğrudan video kartının performansına bağlıdır.
Zayıf kartlara sahip eski dizüstü bilgisayarlarda veya grafik kartı/sürücüsü olmayan sunucularda, CPU kullanımında kaçınılmaz olarak ani ancak kısa bir artış olacaktır.
Artan istekleri iz bırakmadan tüketmek için CPU'nun kendisine daha güçlü bir şekilde ihtiyaç vardır.
Grafik çizerken işlemci yükü doğrudan video kartının performansına bağlıdır.
Zayıf kartlara sahip eski dizüstü bilgisayarlarda veya grafik kartı/sürücüsü olmayan sunucularda, CPU kullanımında kaçınılmaz olarak ani ancak kısa bir artış olacaktır.
Artan istekleri iz bırakmadan tüketmek için CPU'nun kendisinin daha fazla güce ihtiyacı var.
FX-8350 işlemci ve Radeon HD 7950 ekran kartından bahsediyoruz, video kartının MT5'ten yüklendiği hissine kapılmıyorum.
burada @Vict , makro ikameleri yoluyla işletim sistemine çıkışta bir istisna yapılmasına yardımcı oldu https://www.mql5.com/en/forum/318246/page10#comment_12651045
, genel olarak, uygulanabilir bir çözüm, ama ... ama ürkütücü ve iğrenç görünüyor! )))
Evet, bu genellikle bir tür kalaydır... Bir makroda dönüş sarma - sapıklıklar hakkında çok şey bilmeniz gerekir) Böyle bir kodu daha sonra nasıl anlarsınız... O zaman en azından makronun adını daha öz hale getirmeniz gerekir. -açıklayıcı, TRY_OR_RETURN gibi
)))
Nasıl göründüğüne baktım ve kullanmıyorum, eski usul yazıyorum if(!myfunc()) return; OnTick()'te - sağlam if'lerin tüm kodu ... ayrıca oldukça dokunaklı ve komik görünüyor))))
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
MetaTrader 5 platformunun yeni sürümü build 2085: Python ile entegrasyon ve strateji test cihazında büyük iyileştirmeler
Andrey Barinov , 2019.09.06 06:25
Bu kodun neden şimdi bir uyarısı olduğunu açıklayabilir misiniz?
Yöntemlerin farklı imzaları vardır...
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
MetaTrader 5 platformunun yeni sürümü build 2085: Python ile entegrasyon ve strateji test cihazında büyük iyileştirmeler
Andrey Barinov , 2019.09.06 06:11
Typename() yapı 2136'da bozuldu
Lütfen geri düzeltin.
Bu gösterge sistemi çökertir.
Ayrıca, ekran çözünürlüğünde bir değişiklik ve yanıp sönen piksellerle ve bilgisayarın gerekli yeniden başlatılmasıyla.
Üstelik görünüşte zararsız olan Crash() işlevini çağırmazsanız , o zaman çökme olmaz.
Şu şekilde oynandı:
Bunu her yaptığımda bu çökmeyi oynadı (6-8 kez)
LTSC'de kilitlenmiyor, günlükte bir hata var: MemoryException 4424265936 bayt mevcut değil, 0 heapmin sonucu
Evet, kaza çok zor. Riske atmamak daha iyidir.
Her şey hafızayla ilgili elbette.
Belleği aşağıdaki gibi tutamaçlarla temizlerseniz:
kaza da olmuyor. Her durumda, başaramadım.
Ancak sonuçta, TF değiştirilirken dizilerin otomatik olarak temizlenmesi gerekir!
Ve Crash() işlevinin bununla ne ilgisi olduğu açık değildir, bu olmadan çökme olmaz, çünkü yalnızca göstergeler hakkındaki bilgileri okur.
TF değiştirilirken bu işlevin yürütülmesinin OnDeinit'i yavaşlatması ve bu nedenle MT5'in belleği temizlemek için zamanı olmaması mümkündür.
OnDeinit uyumsuzluğu ile ilgili uzun süredir sorunlar. Düzensizlik! Sonuçta, sistem uyumsuzluk nedeniyle çökmemelidir ...
Göstergelerle grafiği kaydırdığınızda işlemci çekirdeği neden %100 yüklüyor?
Sonuçta, göstergeler hesaplanır ve fikre göre çizilir, sadece bellekten yükleme yapılmalıdır.
Göstergelerle grafiği kaydırdığınızda işlemci çekirdeği neden %100 yüklüyor?
Sonuçta, göstergeler hesaplanır ve fikre göre çizilir, sadece bellekten yükleme yapılmalıdır.
Grafik çizerken işlemci yükü doğrudan video kartının performansına bağlıdır.
Zayıf kartlara sahip eski dizüstü bilgisayarlarda veya grafik kartı/sürücüsü olmayan sunucularda, CPU kullanımında kaçınılmaz olarak ani ancak kısa bir artış olacaktır.
Artan istekleri iz bırakmadan tüketmek için CPU'nun kendisine daha güçlü bir şekilde ihtiyaç vardır.Grafik çizerken işlemci yükü doğrudan video kartının performansına bağlıdır.
Zayıf kartlara sahip eski dizüstü bilgisayarlarda veya grafik kartı/sürücüsü olmayan sunucularda, CPU kullanımında kaçınılmaz olarak ani ancak kısa bir artış olacaktır.
Artan istekleri iz bırakmadan tüketmek için CPU'nun kendisinin daha fazla güce ihtiyacı var.FX-8350 işlemci ve Radeon HD 7950 ekran kartından bahsediyoruz, video kartının MT5'ten yüklendiği hissine kapılmıyorum.