Yeni MetaTrader 5 platformu yapısı 3210: Sharpe Oranı hesaplama algoritması revize edildi, yeni matris metotları eklendi

 

MetaTrader 5 platformu güncellemesi 11 Şubat 2022 Cuma günü yayınlanacaktır.

Yeni sürümle birçok iyileştirme yapıldı: Sharpe Ratio hesaplama algoritması geleneksel forma getirildi, matrislerle çalışma için yeni metotlar eklendi, terminalin bellek tüketimi optimize edildi ve daha iyi veri aktarımı için ağ alt sistemi geliştirildi.

Ayrıca, ENUM_CUSTOMIND_PROPERTY_INTEGER numaralandırmasına, IndicatorSetDouble fonksiyonu kullanılarak göstergenin minimum ve maksimum değerlerini sabitleyen/sabitlemeyi kaldıran iki yeni özellik, INDICATOR_FIXED_MINIMUM ve INDICATOR_FIXED_MAXIMUM eklendi.


Ek olarak, Math\Stat\Math.mqh matematik kütüphanesindeki bazı hatalar ve gece yarısını geçerken güncel olmayan verileri geri döndürebilen CopyTicks ve CopyTicksRange fonksiyonlarının çalışması düzeltildi.

Güncellenmiş MetaTrader 5 platformu sürümünün tüm yeni özellikleri aşağıda ayrıntılı olarak açıklanmıştır:


  1. MQL5: Vektörler ve matrisler için Min, Max, ArgMin, ArgMax ve Sum fonksiyonları eklendi. Minimum ve maksimum değerleri, ilgili indeksleri ve toplamı bulmak için bu fonksiyonları kullanın.
  2. MQL5: Matrislere Flat metotları için destek eklendi. Bu metotlarla, bir matris elemanı iki yerine bir indeks üzerinden adreslenebilir.
    double matrix::Flat(ulong index) const;      // getter
    void matrix::Flat(ulong index,double value); // setter

    Bir matris elemanının adresini hesaplamak için yalancı kod:

    ulong row=index / mat.Cols();
    ulong col=index % mat.Cols();
    
    mat[row,col]

    Örneğin, 'matrix mat(3,3)' için, elemanlara erişim aşağıdaki gibi yazılabilir:

      okuma: 'x=mat.Flat(4)', şuna eşdeğerdir: 'x=mat[1][1]'
      yazma: 'mat.Flat(5, 42)', şuna eşdeğerdir: 'mat[1][2]=42'

    Fonksiyon geçersiz bir matris indeksi ile çağrılırsa, OutOfRange kritik yürütme hatası meydana gelir.

  3. MQL5: MQL5 programı girdi parametrelerinde kesirli sayıların biçimlendirmesi iyileştirildi. Bazı reel sayıları okurken, çok sayıda sıfır içeren sayılar, girdi parametrelerinde değiştirilmiş olarak gösterilirdi (örneğin, 0.400000000002, 0.4 olarak).
  4. MQL5: Math\Stat\Math.mqh matematik kütüphanesindeki hatalar düzeltildi. Bu kütüphanenin MathSample fonksiyonunun çalışması, geri izleme ile örnekleme yaparken benzer matematik kütüphanelerinin geleneksel davranışına uyacak şekilde revize edildi.
  5. MQL5: Finansal enstrüman için hiçbir tik sağlanmadığında gece yarısını geçerken güncel olmayan verilerin geri döndürülmesine neden olan CopyTicks/CopyTicksRange hatası düzeltildi.
  6. MQL5: ENUM_CUSTOMIND_PROPERTY_INTEGER numaralandırmasına yeni INDICATOR_FIXED_MINIMUM ve INDICATOR_FIXED_MAXIMUM değerleri eklendi.
    Bu özelliklerle, IndicatorSetInteger fonksiyonunu kullanarak göstergenin minimum ve maksimum değerlerini sabitleyebilir veya sabitlemeyi kaldırabilirsiniz. GöstergeSetInteger(INDICATOR_FIXED_MINIMUM/INDICATOR_FIXED_MAXIMUM, true) çağrılırken, sırasıyla mevcut minimum veya maksimum değer kullanılır.





  7. Sınayıcı: Sharpe Oranı hesaplama algoritması, değerin bir yıllık aralığa karşılık geldiği geleneksel formüle uyacak şekilde revize edildi. Önceki algoritma, elde edilen PnL'nin değişkenliğine dayanıyordu, açık pozisyonlardaki varlık dalgalanmalarını göz ardı ediyordu. Artık hesaplama için, varlık dalgalanmaları dikkate alınacak ve Sharpe Oranı da geleneksel şekilde yorumlanacak:
    • Sharpe Oranı < 0              Strateji kârsız ve iyi değil. Kötü.
    • 0 < Sharpe Oranı  < 1.0    Risk karşılığını vermiyor. Alternatif olmadığında bu tür stratejiler düşünülebilir. Belirsiz.
    • Sharpe Oranı ≥ 1.0          Sharpe Oranı birden büyükse, risk karşılığını veriyor ve portföy/strateji çalışıyor demektir. İyi.
    • Sharpe Oranı ≥ 3.0          Yüksek bir değer, her bir işlemde zarar elde etme olasılığının çok düşük olduğunu gösterir. Çok iyi.

  8. Terminal: Terminalin bellek tüketimi optimize edildi.
  9. Terminal: Performansı artırmak ve ağ gecikmelerini azaltmak için ağ alt sistemiyle platform çalışması iyileştirildi.
  10. Terminal: Izgara oluşturma devre dışı bırakıldığında, göstergelerde sıfır ızgara seviyesinin görüntülenmesi kaldırıldı.


Güncelleme, Live Update sistemi aracılığıyla sunulacaktır.

Neden: