Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 222
![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
Bu haber değil, doğuştan hep böyle çalışıyorlar.
yalnızca veriler __atomic__'den büyükse, kritik bölümlerle (veya std::thread terminalindeki muteks) ona erişmek/korumak gerekir
Eh, böyle bir davranışı bilmiyordum ve içe aktarırken ayrı bir işlem bekliyordum.
Yüklenen her MT5 programında global DLL işaretçilerinin yeni olacağını düşündüğümden.
Mantığı anlamak için terlemem gerekti, hatanın neden bellekten uçup gittiğini merak ettim.
Ama nedenini yazarak (yazdırarak) anladığımda, DLL ile çalışmak için tüm mimari plan farklı şekilde inşa edildi.
Kahretsin, muteksler konusunda haklısın, bunu düşünmedin. Bahşiş için teşekkürler.
Evet. Yöntemin parametresi olmasa da, bunu yapabilirsiniz:
Başvuru:
Gecikmelerin kısmi yürütülmesi ile ORDER_TIME_SETUP_MSC alanı değişir.
Sonuç olarak, DEAL_TIME_MSC , sırasının ORDER_TIME_SETUP_MSC'sinden daha az olabilir.
Özel bir karşılaştırma işlevi kullanmaya ne dersiniz:
Haklısın, teşekkürler! Düz bir yerde abarttım. Varyantınızı sıralama için bırakacağım.
Başvuru.
ZZY Yazık, alt alan veya yöntemle çalışmıyor.
İşte kitaplığımdan optimize edilmiş QuickSort, gereksinimlerinize biraz uyarlanmış.
Büyük dizileri yığın taşması olmadan sıralayabilir (kontrolsüz özyineleme nedeniyle).
Merhaba ve paylaşım için teşekkürler!
Bu işe yararsa mükemmel olurdu. Ancak, bir .mq5 komut dosyasına yapıştırıldığında ve ne yazık ki yürütüldüğünde kodunuz aşağıdaki hataları veriyor:
Lütfen bunu düzeltir misiniz? Senin için muhtemelen kolay, oysa ben nereden başlayacağımı bilmiyorum :-)
ArrayInsert kullanırken, Array_Destination[] öğelerinin eklendiği Array_Source[] öğelerinden daha küçük olduğunda bellekten tasarruf edebilirsiniz.
Bunu yapmak için, ArraySwap'i iki kez uygulamalısınız: ArrayInsert'ten önce ve sonra.
Örneğin, büyük MqlTick arşivleri vb. ile çalışırken bu önemlidir.
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi üzerine forum
mql5 dilinin özellikleri, incelikleri ve çalışma teknikleri
fxsaber, 2022.02.20 15:00
Haklısınız, teşekkür ederim! Ben düz bir yerde overmudryl. Sıralama için varyantınızı bırakacağım.
Uygulama.
Bölümleme yönteminde bir hata vardı. Düzeltilmiş versiyon.
Partition yönteminde bir hata vardı. Düzeltilmiş sürüm.
Sıralama için sayısal bir alanın alındığı özel bir durum için (en yaygın durum), öncekinden birkaç kat daha hızlı olan bir varyant yazdım. Ancak iki kat daha fazla bellek tüketiyor. Büyük diziler için geçerlidir.
Uygulama (yürütme süresinin ölçülmesi ile).
Sonuç.