Standart özelliklerin/yaklaşımların alternatif uygulamaları - sayfa 2

 
Renat Fatkhullin :

2016 itibariyle, çoğu C++ derleyicisi aynı optimizasyon seviyelerine ulaşmıştı.

MSVC, her güncellemedeki iyileştirmeleri merak etmenizi sağlar ve bir derleyici olarak Intel C++ birleştirilmiştir - ve büyük projelerdeki "iç hatalarından" kurtarılmamıştır.

Derleyicideki 1400 derlemesindeki iyileştirmelerimizden bir diğeri, karmaşık projeleri derlemenin daha hızlı hale gelmesidir.

Bu diyalog olmasaydı, muhtemelen tanımayacaklardı. Yaptığınız harika iş hakkında daha fazla bilgi.
 
fxsaber :

Bu konuda. Standart işlevlere alternatifler yaratmalısınız, çünkü bazen ihtiyacınız olanı vermezler. İşte SymbolInfoTick'e örnek bir alternatif

Test cihazında, her olayda NewTick SymbolInfoTick'i arayın ve değişim cirosunu bulmak için hacim alanını ekleyin. Ama hayır, yapamazsın! MySymbolInfoDouble anlamında çok daha mantıklı yapmanız gerekiyor.

Yaratıcı olduğunuz programlamaya hoş geldiniz!

İstediğiniz her şeyi yapabileceğiniz en eksiksiz aracı veriyoruz.

 
Renat Fatkhullin :

Etrafınızdaki her şeyi optimize edebilirsiniz.

Bu sonsuz bir süreç. Ancak vakaların %99'unda ekonomik olarak uygun değildir.

Bu optimizasyonla ilgili değil, eski işlevi yeni gerçekliklere getirmekle ilgili. NormalizeDouble'ı hiç yazamadığınız açık. Ve insanlar kendi işlerini yapacaktı. Ama yarattığınız zamandan tasarruf etmek için. Şimdi bu yeterli değildi. Ve eski bisikleti aynı stok enstrümanlarını tatmin edecek şekilde düzeltmek güzel olurdu.
 
fxsaber :
Bu optimizasyonla ilgili değil, eski işlevi yeni gerçekliklere getirmekle ilgili. NormalizeDouble'ı hiç yazamadığınız açık. Ve insanlar kendi işlerini yapacaktı. Ama yarattığınız zamandan tasarruf etmek için. Şimdi bu yeterli değildi. Ve eski bisikleti aynı stok enstrümanlarını tatmin edecek şekilde düzeltmek güzel olurdu.
Teşekkürler, kütüphaneyi değiştirme olasılığını kontrol edip inceleyeceğiz.
 

Bu arada, çok uzun zaman önce @iliyas , satır içi ve maksimum optimizasyona katılabilmeleri için derleme aşamasında birçok sistem işlevini MQL5'te kaynak kod olarak eklemeyi önerdi.

Fikri hemen takdir etmedim, ama şimdi harika olacağını görüyorum. Aynı MSVC'yi yapar.

 
Renat Fatkhullin :
Teşekkürler, kütüphaneyi değiştirme olasılığını kontrol edip inceleyeceğiz.

Anlamadın. Kitaplıklar değil, NormalizeDouble . Aşırı Yük Ekle

 double NormalizeDouble ( double Value, double TickSize );

TickSize = 25, VolumeStep = 0,5 olduğunda fiyatları ve lotları normalleştirebilmek için

Örneğin, normalleştirme şöyle görünür

 NormalizeDouble (Price, 0.00001 ) // Нормализация до пятого знака
NormalizeDouble (Price, 10.0 ) // Нормализация цены для RTS-9.16
NormalizeDouble (Price, 25.0 ) // Нормализация цены для MIX-9.16
 
Renat Fatkhullin :

Bu arada, çok uzun zaman önce @iliyas , satır içi ve maksimum optimizasyona katılabilmeleri için derleme aşamasında birçok sistem işlevini MQL5'te kaynak kod olarak eklemeyi önerdi.

Fikri hemen takdir etmedim, ama şimdi harika olacağını görüyorum. Aynı MSVC'yi yapar.

#import ex5'in optimizasyonun kötülüğü olduğu ortaya çıktı.

Lütfen ön işlemcinin olanaklarına dikkat edin

Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum

Sıralı olarak bir enum üzerinde yineleme nasıl yapılır?

Alexey Navoykov , 2016.09.01 23:20

Pekala, bu kilit nokta. MQL5'te makrolar sadece sabit sayıda argümana sahip olmakla kalmaz, bu sayı 8 ile sınırlıdır. Böylece sadece 3 değer için enum yapmak mümkün olacaktır.

Ve teorik görünüme gelince, enum ayrıştırma için normal bir işlev muhtemelen daha hızlı görünecektir. Geliştiriciler zaten bir şey doğurmaya söz verdiler.


Görünüşe göre, çok kurnaz ve kullanımı kolay tasarımlar oluşturabilirsiniz.

 
fxsaber :

Anlamadın. Kütüphaneler değil, NormalizeDouble. Aşırı Yük Ekle

TickSize = 25, VolumeStep = 0,5 olduğunda fiyatları ve lotları normalleştirebilmek için

Örneğin, normalleştirme şöyle görünür

Yani aşırı yükleyemezsiniz. Aynı işlev imzaları.

Ancak fikir açıktır - kene granülasyonunu dikkate alarak normalleştirme işlevi.

 
Renat Fatkhullin :

Yani aşırı yükleyemezsiniz. Aynı işlev imzaları.

Herhangi bir sorun yok gibi görünüyor. Bir varyantta, ikinci parametre int (eski), diğerinde - double (görünecektir).

Ancak fikir açıktır - kene granülasyonunu dikkate alarak normalleştirme işlevi.

Aynen öyle!
 

fxsaber

kodunuzda bir hata var