Hatalar, hatalar, sorular - sayfa 2646
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
çünkü şablon türleri çıktı değerine göre değil, yalnızca parametrelere göre çıkarır.
Bu doğru değil.
Bu doğru değil.
Teşekkür ederim!
Evet işe yarayacak, söz diziminde kafam karıştı
Not: şimdi her şey amaçlandığı gibi çalışıyor:
Base64'te POD yapılarının serileştirilmesiBu doğru değil.
Hayır, bu kesin. İşlev için şablon parametre türlerinin açık ayarını not ettiniz ve ben türetme hakkında konuşuyordum, fxsaber benden önce açık ayar hakkında yanıt verdi. ve sana bağlı
Hayır, bu kesin. İşlev için şablon parametre türlerinin açık ayarını not ettiniz ve ben türetme hakkında konuşuyordum, fxsaber benden önce açık ayar hakkında yanıt verdi. ve sana bağlı
Forumda ve dokümanlarda arama yaparak bulamadım, soru olgun:
1. MQL5'in saklayabileceği maksimum dize boyutu nedir?
2. MQL4'ün saklayabileceği maksimum dize boyutu nedir
3. Bellek sıkıntısı varsa, bu maksimum boyut küçülecek (veya dize için bellek tahsis edilmeyecek) veya bir çalışma zamanı hatası olacak mı?
Kusurlar:
(MT5(build 2319) tarafından düzeltilmedi ) şablon sınıfı önbelleğinin çalışmasındaki hata: "Dahili "C" tipine sahip karmaşık, çoklu sarılmış bir nesne oluşturuyorsunuz ve bunun tamamen farklı bir veri türü olduğu ortaya çıkıyor, belki "B", belki "int", ne istersen ...".
( düzeltilmemiş MT5(build 2319)) dahili sınıf kullanılırken şablon sınıfı kod oluşturma hatası.
(MT5(build 2319) tarafından düzeltilmedi ) dahili sınıf tanımlanırken oluşan hata - temel sınıf belirtilirken genel ad alanına açıkça başvurmak mümkün değildir.
Teklifler:
link - MQL typedef bildirimine işlevsellik ekleme ihtiyacı hakkında.
bağlantı - varsayılan kopya oluşturucuların ve atama operatörlerinin oluşturulmasını zorlama yeteneği sağlama hakkında.
Kusurlar:
Hata raporlarınızı takip etmenizde fayda var. Bunu yapmadım, çünkü forumdaki her şey geri dönüşü olmayan bir şekilde kayboldu.
Muhtemelen, bir arama ile hepsini bir kerede bulabilmeniz için hata raporlarınızla birlikte gönderilere bir ve aynı karma girişi eklemeniz gerekir.
Forumda ve dokümanlarda arama yaparak bulamadım, soru olgun:
1. MQL5'in saklayabileceği maksimum dize boyutu nedir?
2. MQL4'ün saklayabileceği maksimum dize boyutu nedir
3. Bellek sıkıntısı varsa, bu maksimum boyut küçülecek (veya dize için bellek tahsis edilmeyecek) veya bir çalışma zamanı hatası olacak mı?
dizeyi MT4'te test etmeye çalıştı
Vin yöneticisinde, bellek çok fazla akmıyor (11.9 üzerinden 5.1), günlükte MT4'te:
StringLen = 221696000 , m_fiziksel = 12157, m_toplam = 4095, m_available = 3365, m_used = 729
genel olarak, makul görevler için büyük dizeler kullanabilirsiniz, belki biraz sonra dosyayı dize yoluyla kopyalayıp kontrol edeceğim
UPD: değiştirildi uchar u_arr[ 102400 ]; uchar için u_arr[524224]; süreci hızlandırmak için
toplam: MT4'te dizeye yerleştirilebilecek yaklaşık maksimum değer:
2020.02.13 21:11:24.177 tst_string EURUSD,H1: bellek yetersiz
2020.02.13 21:11:24.024 tst_string EURUSD,H1: StringLen = 640601728 , m_physical = 12157, m_total = 4095, m_available = 2556, m_used = 1539
onlar. yaklaşık 640 MB
Not: MT5
2020.02.13 21:56:12.964 tst_string (EURUSD,H1) StringLen = 1073610752 , m_fiziksel = 12157, m_toplam = 24314, m_available = 21975, m_used = 2339
2020.02.13 21:56:13.140 tst_string (EURUSD,H1) 'tst_string.mq5' dosyasında bellek yetersiz (41,12)
dizeyi MT4'te test etmeye çalıştı
Vin yöneticisinde, bellek çok fazla akmıyor (11.9 üzerinden 5.1), günlükte MT4'te:
StringLen = 221696000 , m_fiziksel = 12157, m_toplam = 4095, m_available = 3365, m_used = 729
genel olarak, makul görevler için büyük dizeler kullanabilirsiniz, belki biraz sonra dosyayı dize yoluyla kopyalayıp kontrol edeceğim
UPD: değiştirildi uchar u_arr[ 102400 ]; uchar için u_arr[524224]; süreci hızlandırmak için
toplam: MT4'te dizeye yerleştirilebilecek yaklaşık maksimum değer:
2020.02.13 21:11:24.177 tst_string EURUSD,H1: bellek yetersiz
2020.02.13 21:11:24.024 tst_string EURUSD,H1: StringLen = 640601728 , m_physical = 12157, m_total = 4095, m_available = 2556, m_used = 1539
onlar. yaklaşık 640 MB
Not: MT5
2020.02.13 21:56:12.964 tst_string (EURUSD,H1) StringLen = 1073610752 , m_fiziksel = 12157, m_toplam = 24314, m_available = 21975, m_used = 2339
2020.02.13 21:56:13.140 tst_string (EURUSD,H1) 'tst_string.mq5' dosyasında bellek yetersiz (41,12)
Bu , Unicode için dize uzunluğudur , bu nedenle MB olarak en az iki katıdır. MT4 için 1,3 GB, bu mantıklı çünkü bitişik bir bellek arabelleğine ihtiyacınız var ve MT4 32 bitlik bir uygulamadır. Dolayısıyla mql4 limitinin kendisi bir limit değildir, sadece mevcut hafıza ile sınırlıdır.
MT5'in çok fazla kullanılabilir belleğiniz olduğu için daha fazlasına izin vermemesine biraz şaşırdım. Elimden geleni yapacağım.
Bu , Unicode için dize uzunluğudur , bu nedenle MB olarak en az iki katıdır. MT4 için 1,3 GB, bu mantıklı çünkü bitişik bir bellek arabelleğine ihtiyacınız var ve MT4 32 bitlik bir uygulamadır. Dolayısıyla mql4 limitinin kendisi bir limit değildir, sadece mevcut hafıza ile sınırlıdır.
MT5'in çok fazla belleğiniz olduğu için daha fazlasına izin vermemesine biraz şaşırdım. Elimden geleni yapacağım.
12 GB belleğim var, Windows 10 işletim sistemi, boş bellek yaklaşık 8 GB
MT4/MT5 terminallerinde izin verilen maksimum hat uzunluklarını belirlemek için bu teste ihtiyacım vardı.
Şimdi Redis veritabanı aracılığıyla terminaller arasında bir değişim kurmak istiyorum
Redis çok basit bir veritabanıdır ve yalnızca dizelerle çalışır (anahtar - değer -> dize - dize)
dün Base64'te POD yapılarının serileştirmesini yaptım, veri boyutu yaklaşık 1/3 artarken
Bu durumda bile, işlem başına 400 MB büyüklüğünde yapı alışverişi yapabileceğime inanıyorum - bu herhangi bir amaç için fazlasıyla yeterli! ;)