Hatalar, hatalar, sorular - sayfa 2558

 
Aleksey Vyazmikin :

Çevre hakkında bilgi veriyorum:

- Göstergeler 16 , çizim karmaşık değil, tuval, araç çubukları ve diğer fırfırlar olmadan - çubuklar / şeritler - Ekranı ekliyorum.

- Grafikte program yok, optimize ediciden sonra pencereyi açıyorum, bu bir örnek - çalışma çizelgeleri de yavaşlıyor, ancak daha az (daha az gösterge var).

- Hayır, olaylar işlenmez.

- Çubuk görüntüleme modu Sınırsız, yani. sayfalama dışlanmış gibi görünüyor.

- Grafiksel nesneler yok, daha doğrusu tüm okları ve tireleri sildim. Yalnızca bir etiket kaldı - göstergeden. Bugün izin günü ve bu bir şekilde karışmamalı - alıntı yok.

Yukarıda grafik kartının kullanılmadığını görebileceğiniz bir ekran gönderdim - kullanıldığını nasıl anlarsınız yoksa yükün sıfıra yakın olması ve çekirdeğin yüklü olması normal mi?


İşte yüzünde iyi bilinen bir sorun, tek bir iş parçacığında göstergelerin çalışması!
Bir iş parçacığı yükü kaldıramaz!
Çok iş parçacığına ihtiyacımız var, bunun hakkında kaç kez yazıldı.

 

Her şey daha kolay çıktı, optimizasyondan sonra şablonu kaydettim, yeni bir grafik açtım ve şablonu yükledim - yavaşlamıyor, yani grafik optimizer'den çağrıldığında tam olarak yavaşlıyor!

H1'in varsayılan olarak açıldığını ve frenlerin M1'de olduğunu fark etmedim. Yerleşik göstergeler hala iyi çalışıyor, ancak benimkilerden bazıları çizim yaparken yavaşlıyor.

1 kopyada bile işlemciyi yükleyebileceğine dair bir gösterge buldum (grafik üzerinde fare tekerleğini ileri geri çevirmeniz yeterli) - detaylı bir araştırma için gerekirse - kişisel olarak gönderebilirim.
 
 
Renat Fatkhullin :

1) burada mersin balığını INT_MAX (2 milyar) ile kesmeniz gerekiyor:

bunu da kendi tarafımızda düzelteceğiz

2) tüm bellekler en katı şekilde yönetilmelidir, GC yoktur

3) gösterge, sıfırdan fiziksel yeniden başlatma olmadan bir zaman çerçevesi değişikliğinde yeniden başlatılır, bu nedenle belleği kendiniz boşaltmanız gerekir. özellikle küresel düzeyde kaynaklar

4) OOP kullanın, en azından kaynakları doğru bir şekilde tanımlamayı ve kontrol etmeyi mümkün kılacaktır.

Anladım, teşekkürler.
Gerçekten de, INT_MAX olmadan çökmeyi yeniden oluşturmak mümkün değildi. Hayatımda bunu düşünmezdim. Bundan böyle ekstrem değerlerin kullanımında daha dikkatli olacağım. Onları sık sık kullandı.
Bazen kodda istersin aptal olmak istersin çoğalmak için ve aptallara karşı korumayı kontrol edersin.

 
 

MQ5 ile MQL4 arasındaki performans farkı harika, ancak çoklu platform kodunu bitirmek istiyorum, bu yüzden soru ortaya çıktı:

1. Kaynak kodunda değişiklik yaptıktan sonra optimizasyonu değerlendirmek için hangi profil oluşturucuyu (MQ5 veya MQL4) kullanmak daha iyidir?

2. Tüm Print()'i if( MQLInfoInteger(MQL_OPTIMIZATION)) veya Print() çağrıları performans kaybı olmadan otomatik olarak hariç tutulacak bayrağın kontrolüne sarmak mantıklı mı?

 

Optimize Edici

 2019.09 . 14 20 : 24 : 18.638 Core 2   genetic pass ( 2 , 504 ) tested with error "no memory in OnTick function (cannot get 5376 Kb, used 1943 Mb)" in 0 : 00 : 21.536
2019.09 . 14 20 : 24 : 33.884 Core 1   genetic pass ( 2 , 432 ) tested with error "no memory in OnTick function (cannot get 5088 Kb, used 2130 Mb)" in 0 : 00 : 26.018
2019.09 . 14 20 : 24 : 40.079 Core 2   genetic pass ( 2 , 504 ) tested with error "no memory in OnTick function (cannot get 5376 Kb, used 1943 Mb)" in 0 : 00 : 21.439
2019.09 . 14 20 : 25 : 00.011 Core 1   genetic pass ( 2 , 432 ) tested with error "no memory in OnTick function (cannot get 5088 Kb, used 2130 Mb)" in 0 : 00 : 26.125
2019.09 . 14 20 : 25 : 00.024 Core 1   genetic pass ( 2 , 432 ) tested with error "no memory" in 0 : 00 : 00.000
2019.09 . 14 20 : 25 : 00.037 Core 1   genetic pass ( 2 , 432 ) tested with error "no memory" in 0 : 00 : 00.000
2019.09 . 14 20 : 25 : 01.671 Core 2   genetic pass ( 2 , 504 ) tested with error "no memory in OnTick function (cannot get 5376 Kb, used 1943 Mb)" in 0 : 00 : 21.589
2019.09 . 14 20 : 25 : 01.680 Core 1   genetic pass ( 2 , 504 ) tested with error "no memory" in 0 : 00 : 00.000
2019.09 . 14 20 : 25 : 01.693 Core 1   genetic pass ( 2 , 504 ) tested with error "no memory" in 0 : 00 : 00.000
2019.09 . 14 20 : 25 : 10.181 Core 3   genetic pass ( 2 , 432 ) tested with error "no memory in OnTick function (cannot get 5088 Kb, used 1659 Mb)" in 0 : 00 : 10.142
2019.09 . 14 20 : 25 : 10.190 Core 1   genetic pass ( 2 , 432 ) tested with error "no memory" in 0 : 00 : 00.000
2019.09 . 14 20 : 25 : 10.203 Core 1   genetic pass ( 2 , 432 ) tested with error "no memory" in 0 : 00 : 00.000
2019.09 . 14 20 : 25 : 10.215 Core 1   genetic pass ( 2 , 432 ) tested with error "no memory" in 0 : 00 : 00.000
2019.09 . 14 20 : 25 : 10.228 Core 1   genetic pass ( 2 , 432 ) tested with error "no memory" in 0 : 00 : 00.000
2019.09 . 14 20 : 25 : 20.343 Core 3   genetic pass ( 2 , 432 ) tested with error "no memory in OnTick function (cannot get 5088 Kb, used 1659 Mb)" in 0 : 00 : 10.114

İlk başta, tüm çekirdekler yaklaşık bir saat boyunca hatasız sürdü. EA'da dizi yok. Sonra bu tür hatalar ortaya çıktı.

Makinede yalnızca bir Terminal çalışıyor. 16 GB, 7 çekirdek dahil.


PS Geçiş, çok sayıda işlemde diğerlerinden farklıdır


O zaman ticaret geçmişi ne kadar yer?


ZZY Onlarca gigabayt boş olmasına rağmen bazen "disk alanı yok" kayar.

 
Kısa bir soru: kaynak, bmp biçimindeki grafik kaynaklarıyla birlikte kod tabanına nasıl yerleştirilir (örneğin, OBJ_BITMAP_LABEL 'da )? Standart kitaplıkta res klasöründe yalnızca bmp dosyaları vardır (yani kaynakların png / jpg olabileceğinin farkında değilim). Zip'e eklerseniz, kontrol ettiğinizde kod derlenmez, değil mi?
 
Stanislav Korotky :
Kısa bir soru: kaynak, bmp biçimindeki grafik kaynaklarıyla birlikte kod tabanına nasıl yerleştirilir (örneğin, OBJ_BITMAP_LABEL içinde)? Standart kitaplıkta res klasöründe yalnızca bmp dosyaları vardır (yani kaynakların png / jpg olabileceğinin farkında değilim). Zip'e eklerseniz, kontrol ettiğinizde kod derlenmez, değil mi?
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XX): Создание и хранение ресурсов программы
Библиотека для простого и быстрого создания программ для MetaTrader (Часть XX): Создание и хранение ресурсов программы
  • www.mql5.com
Часто при создании программы, нам требуется использовать звуки и изображения. В языке MQL есть несколько возможностей использования таких данных, и все они связаны с необходимостью загружать файлы из файловой песочницы терминала. Если в конечном результате предполагается скомпилированный файл, то достаточно подключить файл как ресурс и...
 
Artyom Trishkin :

Bunun bir şekilde kod tabanı hakkındaki soruyu cevaplaması mı gerekiyor?