Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 165
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
Evet, tarih okumam var.
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Kitaplıklar: Kolay Kanvas
Nikolai Semko , 2020.02.17 05:15
İlgili programcılara kanvasın test modunda nasıl çalıştığına dair önemli bir noktayı açıklamak istiyorum.
Bu toplulukta tanınmış bir programcı bana şu soruyla yaklaştı:
- Neden test modunda, nesneler üzerinde oluşturulan panel, tuvalde uygulanandan daha hızlı bir şekilde yeniden çizilirken, normal modda her şey tuvalin hızıyla uyumludur?
Anladıktan sonra, bu sorunun nedenini ve çözümünü anladım.
Gerçek şu ki, nesnelerle, tüm ekranın yeniden çizilmesiyle birlikte yeniden çizim gerçekleşir ve test cihazındaki ekran saniyede 30 kareden fazla yeniden çizilmez.
Nesneler nihayetinde aynı tuvaldir (dahili), ancak bir nesnenin özelliklerini değiştirdiğinizde, nesne tuvali oluşturulmaz (yeniden hesaplanmaz), ancak yalnızca test cihazında gerçekleşen ekran yenileme (ChartRedraw) anında oluşturulur. (ve normal modda da) gözlerimizin değişiklikleri ayırt edemediği sıklıkta değildir, yani. Saniyede ~32 kareden fazla değil.
Diyelim ki panel her tik değiştiriyor. Ardından, varsayılan test cihazında, tuval her onay işaretinde yeniden hesaplanacaktır, ancak test cihazında yeniden çizim yine de ~30 milisaniyeden (~30 kare/saniye) daha fazla gerçekleşmez.
Başka bir deyişle, tuval, ekranda görüntülendiğinden çok daha sık yeniden hesaplanacaktır, bu nedenle orantısız bir kaynak harcaması vardır.
Bu sorunun çözümü, tuvalin yeniden hesaplanmasını ve yeniden çizilmesini bilgisayar zamanının her 15-30 milisaniyesinde bir defadan fazla olmayacak şekilde kontrol etmek olacaktır, o zaman gereksiz boş yeniden hesaplama döngüleri olmayacaktır.
Örneğin şöyle:
Örneğin, bir "EURUSD.txt" (büyük karakterler) dosyası oluşturmanız gerekiyorsa ve diskte zaten "eurusd.txt" (küçük karakterler) varsa, dosya adı öncekiyle aynı olacaktır.
Ayrıca EURUSD TicksLongOpt.set kaydettiğimde eurusd tickslongopt.set kaydediliyor. Daha sonra yeniden adlandırmanız gerekir. Ve bunun gibi birçok can sıkıcı küçük şey var.
Ayrıca EURUSD TicksLongOpt.set kaydettiğimde eurusd tickslongopt.set kaydediliyor. Daha sonra yeniden adlandırmanız gerekir. Ve bunun gibi birçok can sıkıcı küçük şey var.
Bence önce silip sonra yaratırsanız, o zaman her şey yoluna girecek.
Bence önce silip sonra yaratırsanız, o zaman her şey yoluna girecek.
Hayır, sadece terminal iletişim kutusundan kaydederken yeni bir dosya oluşturmaktan bahsediyorum. Herkeste yoksa, o zaman başka bir şeye bağlıdır. Bu arada bende Win7 var.
Hayır, yeni bir dosya oluşturmaktan bahsediyorum, yani terminal iletişim kutusundan kaydederken. Herkeste yoksa, o zaman başka bir şeye bağlıdır. Bu arada bende Win7 var.
FileOpen ve FileSave işlevleri anlamına geliyordu.
FileOpen ve FileSave işlevleri anlamına geliyordu.
Evet, ancak şimdi bunun yersiz olduğunu fark ettim, konu dille ilgili ...
Bir dizi yapının uygun şekilde sıralanması
Başvuru
Sonuç
Çalışmıyor, güncelleyebilir misiniz? Yazma şablonu bildirimlerine yerel sınıflarda TestarrSort.mq5 izin verilmez 81 3
Çalışmıyor, güncelleyebilir misiniz? Yazma şablonu bildirimlerine yerel sınıflarda TestarrSort.mq5 izin verilmez 81 3
Ne yazık ki, dilin olanakları kesildi. Bu kod çalışmıyor.
Ama bir alternatif deneyebilirsiniz.
ZY İşte başka bir kullanım örneği.