Yeni MetaTrader 5 Platformu yapısı 3260: Toplu işlemler, matris ve vektör fonksiyonları ve sohbet geliştirmeleri

 

MetaTrader 5 platformu güncellemesi 15 Nisan 2022 Cuma günü yayınlanacaktır.

Yeni sürümde toplu olarak pozisyon kapatma ve bekleyen emir iptal etme işlemleri için komutlar ekledik. Artık ilgili eylemler birkaç fare tıklaması ile gerçekleştirilebilir.

MQL5 dilinin yeteneklerini de genişlettik. Güncelleme, yeni matris ve vektör fonksiyonlarının yanı sıra dahili dizi ve dizge metotları da içerir.

 Yeni MetaTrader 5 Platformu yapısı 3260: Toplu işlemler, matris ve vektör fonksiyonları ve sohbet geliştirmeleri

Ayrıca, yerleşik sohbetleri de geliştirdik. Artık sohbetlerde mesajları alıntılayabilir, metin, resim vb. içeren birleşik mesajlar oluşturabilirsiniz.

Ek olarak, MQL5 hizmetlerini satın alma süreçlerinde çok sayıda düzeltme ve iyileştirme uyguladık ve terminalin grafik sistemini optimize ettik.

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. Terminal: Toplu olarak pozisyonların kapatılması ve bekleyen emirlerin iptali için komutlar eklendi.

    İşlem sekmesinin içerik menüsüne yeni "Toplu İşlemler" komutu eklendi. Kullanılabilir komutların listesi, seçilen işleme ve hesap türünüze bağlı olarak otomatik olarak oluşturulur.




    Aşağıdaki komutlar her zaman menüde mevcuttur:

    • Tüm pozisyonları kapatma. Hedging hesaplarda, sistem zıt pozisyonlarla pozisyonları kapatmaya çalışır (Close By), ardından kalan pozisyonları düzenli bir prosedür izleyerek kapatır.
    • Tüm kârdaki veya tüm zarardaki pozisyonları kapatma
    • Tüm bekleyen emirleri silme
    • Belirli türdeki bekleyen emirleri silme: Limit, Stop, Stop Limit

    Bir pozisyon seçerseniz, menüde şu ek komutlar görünür:

    • Sembolün tüm pozisyonlarını kapatma
    • Aynı yöndeki tüm pozisyonları kapatma (hedging hesaplarda)
    • Aynı semboldeki zıt pozisyonları kapatma (hedging hesaplarda)
    • Pozisyonu tersine çevirme (netting hesaplarda)

    Bir bekleyen emir seçerseniz, menüde şu ek komutlar görünür:

    • Aynı semboldeki bekleyen tüm emirleri silme
    • Aynı semboldeki aynı türden bekleyen tüm emirleri silme

    Bu komutlar, yalnızca platform ayarlarında Tek Tıkla Ticaret etkinleştirildiyse kullanılabilir: Araçlar \ Ayarlar \ İşlem.
  2. Terminal: Sohbet özellikleri geliştirildi:

    • Mesajlara cevap verme özelliği eklendi. Kaynak mesaj metni cevaba alıntı olarak eklenecektir.
    • Farklı içerik türlerine sahip mesajlar oluşturma özelliği eklendi: resimler vb. içeren metinler.
    • Okunmuş ve okunmamış mesajlar arasındaki ayırıcının görüntülenmesi düzeltildi.
    • Çeşitli hatalar düzeltildi ve kararlılık iyileştirildi.




  3. Terminal: Terminalin grafik sisteminin çalışması optimize edildi ve hızlandırıldı. Arayüzü görüntülemek daha az kaynak gerektirecektir.
  4. Terminal: Vadeli işlemler için günlük fiyat değişimlerinin hesaplanması düzeltildi. Broker takas fiyatını sağlıyorsa, bu fiyat hesaplamalar için kullanılacaktır.
    ((Son - Takas fiyatı) / Takas fiyatı)*100
    Tüm hesaplama türlerinin detaylı açıklamaları Dokümantasyonda mevcuttur.

  5. Terminal: MQL5 hizmetlerini satın alma sürecinde oluşan hatalar düzeltildi:

    • Bazı durumlarda, ödeme sistemleri ödeme işleminin başarılı olmasına rağmen yanlış hata mesajları görüntüleyebiliyordu.
    • Marketten ürün kiralamanın ara aşamalarında sayfada yanlış fiyat görüntülenebiliyordu.

  6. Terminal: Satın alınanlar / indirilenler Market ürün sayfasındaki "Başlat" düğmesinin çalışması düzeltildi. Artık düğme, açık grafiklerin ilkinde uygulamayı doğru bir şekilde başlatıyor.
  7. Terminal: Pozisyonların geçmişi oluşturulurken belirli işlem türleri için muhasebe düzeltildi.
  8. MQL5: Matrisler ve vektörlerle çalışmak için yeni fonksiyonlar eklendi:

    • Median — matris veya vektör elemanlarının medyanını geri döndürür
    • Quantile — matris/vektör elemanlarının veya belirtilen eksen boyuncaki elemanların q'nuncu dağılım dilimini geri döndürür
    • Percentile — matris/vektör elemanlarının veya belirtilen eksen boyuncaki elemanların q'nuncu yüzdesini geri döndürür
    • Std — matris veya vektör elemanlarının standart sapmasını hesaplar
    • Var — matris veya vektör elemanlarının varyansını hesaplar
    • CorrCoef — matris/vektör korelasyon katsayısını hesaplar
    • Correlate — iki vektörün çapraz korelasyonunu hesaplar
    • Convolve — iki vektörün ayrık, lineer konvolüsyonunu geri döndürür
    • Cov — kovaryans matrisini hesaplar

  9. MQL5: Sayısal diziler için yerleşik metotlar eklemeye başladık. Yeni metotlar kullanılabilirliği artıracak, kodu daha kompakt hale getirecek ve diğer dillerle kod uyumluluğunu iyileştirecektir.

    Şu üç metot şimdiden mevcuttur:

    • ArgSort — dizileri belirtilen boyuta göre sıralar; varsayılan olarak sonuncusu kullanılır (axis=-1).
    • Range — belirtilen dizi boyutundaki elemanların sayısını geri döndürür. ArrayRange'ın analoğudur.
    • Size — dizi elemanlarının sayısını geri döndürür. ArraySize'ın analoğudur.

    Örnek:
    void OnStart()
      {
       int arr[4][5]=
         {
            {22, 34, 11, 20,  1},
            {10, 36,  2, 12,  5},
            {33, 37, 25, 13,  4},
            {14,  9, 26, 21, 59}
         };
       ulong indexes[4][5];
    //--- diziyi sırala
       arr.ArgSort(indexes,-1,0);
       Print("indeksler");  
       ArrayPrint(indexes);
      }
    
    // sonuç günlüğü:
    // indeksler
    //     [,0][,1][,2][,3][,4]
    // [0,]   4   2   3   0   1
    // [1,]   2   4   0   3   1
    // [2,]   4   3   2   0   1
    // [3,]   1   0   3   2   4

  10. MQL5: Dizgeler için yerleşik metotlar eklemeye başladık.

    Aşağıdaki metotlar şu anda mevcuttur:

    • BufferSize — dizge için ayrılan arabellek boyutunu geri döndürür.
    • Compare — iki dizgeyi karşılaştırır ve karşılaştırma sonucunu bir tamsayı olarak geri döndürür.
    • Length — dizgedeki karakter sayısını geri döndürür.
    • Find — dizgede alt dizge arar.
    • Upper — dizgeyi büyük harfe dönüştürür.
    • Lower — dizgeyi küçük harfe dönüştürür.
    • Replace — alt dizgeyi değiştirir.
    • Reserve — dizge için arabellek ayırır.

    Tüm metotlar, dizge fonksiyonlarının analoğudur.

      Örnek:
      void OnStart()
        {
         string test="some string";
         PrintFormat("Dizge uzunluğu: %d",test.Length());
        }
      
      // Sonuç günlüğü:
      // Dizge uzunluğu: 11
    • MQL5: Sembol fiyatlarının teslimindeki gecikme için ENUM_SYMBOL_INFO_INTEGER numaralandırmasına SYMBOL_SUBSCRIPTION_DELAY değeri eklendi.

      Yalnızca aboneliğe dayalı semboller için kullanılır. Gecikme genellikle deneme modunda sağlanan veriler için geçerlidir.

      Özellik sadece Piyasa Gözleminde seçilen semboller için istenebilir. Aksi takdirde, ERR_MARKET_NOT_SELECTED (4302) hatası geri döndürülecektir.

    • MQL5: ENUM_ACCOUNT_INFO_INTEGER numaralandırmasına ACCOUNT_HEDGE_ALLOWED özelliği eklendi - zıt pozisyonlar ve bekleyen emirler açma izninin özelliği. Özellik, zıt pozisyonlara sahip olmanın yasak olduğu, ancak tek yönde birden fazla pozisyona sahip olunmasına izin verilen işlem hesapları olduğundan, düzenleyicilerin belirli gereksinimlerine uymak adına yalnızca hedging hesapları için etkinleştirilmiş olarak kullanılır.

      Bu seçenek devre dışı bırakılırsa, hesapların aynı finansal enstrüman için zıt yönlü pozisyonlara ve emirlere sahip olmasına izin verilmez. Örneğin, işlem hesabında Alış pozisyonu varsa, kullanıcı Satış pozisyonu açamaz veya bekleyen satış emri giremez. Kullanıcı böyle bir işlemi gerçekleştirmeye çalışırsa TRADE_RETCODE_HEDGE_PROHIBITED hatası geri döndürülür.

    • MQL5: ENUM_SYMBOL_INFO_DOUBLE numaralandırmasında yeni özellikler:

      • SYMBOL_SWAP_SUNDAY
      • SYMBOL_SWAP_MONDAY
      • SYMBOL_SWAP_TUESDAY
      • SYMBOL_SWAP_WEDNESDAY
      • SYMBOL_SWAP_THURSDAY
      • SYMBOL_SWAP_FRIDAY
      • SYMBOL_SWAP_SATURDAY

      Haftanın belirli günleri için swap hesaplama oranlarını elde etmek için değerleri kullanın. 1 — tek swap, 3 — üçlü swap, 0 — swap yok.

    • MQL5: CopyTicks ve CopyTicksRange fonksiyonlarının çalışması düzeltildi. Bir hata, gece yarısından geçerken güncel olmayan verilerin geri döndürülmesine neden olabiliyordu. Bu hata, finansal enstrüman için hiçbir tik sağlanmadığında meydana geliyordu.
    • Çökme kayıtlarında bildirilen hatalar düzeltildi.


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