Yeni MetaTrader 5 platformu yapısı 5100: Git ve MQL5 Algo Forge geliştirici merkezine geçiş, koyu tema ve arayüz iyileştirmeleri

 

MetaTrader 5 platformunun güncellenmiş sürümü 6 Haziran 2025 Cuma günü yayınlanacaktır.

Bu sürümde, MetaEditor kaynak kodu düzenleyicisini önemli ölçüde yeniledik. Yerleşik sürüm kontrol sistemi MQL5 Depo, Subversion'dan geliştiriciler için küresel standart olan Git'e geçiş yaptı. Bu sayede kod yönetiminde daha fazla güvenilirlik ve esneklik sağlandı. Git'e geçişle birlikte, proje yönetimi için yeni bir çevrimiçi portal olan MQL5 Algo Forge'u tanıtıyoruz. Bu sadece bir proje listesi değil, geliştiriciler için tam teşekküllü bir sosyal ağdır. İlgi çekici geliştiricileri takip edin, ekipler oluşturun ve projeler üzerinde zahmetsizce işbirliği yapın.

Ayrıca, tüm platform bileşenleri artık karanlık mod arayüzünü destekleyerek gece saatlerinde daha rahat bir kullanıcı deneyimi sunuyor.

https://www.mql5.com/tr/forum/487986title="Yeni MetaTrader 5 platformu yapısı 5100: Git ve MQL5 Algo Forge geliştirici merkezine geçiş, koyu tema ve arayüz iyileştirmeleri" style="vertical-align:middle;">

Ayrıca 12 aylık VPS kiralama seçeneği de ekledik. Tek seferde uzun bir süre için barındırma satın alarak, maliyetin üçte birini tasarruf edersiniz.

Ek olarak, MQL5'te OpenBLAS lineer cebir kütüphaneleri için desteği önemli ölçüde genişlettik ve yaklaşık otuz yeni fonksiyon ekledik.

Güncelleme aşağıdaki değişiklikleri içermektedir:


MetaTrader 5 müşteri terminali

  1. MetaEditor: Sürüm kontrol sistemi olarak Subversion'ı Git ile değiştirerek MQL5 Depoyu tamamen revize ettik. Git, kod yönetiminde gelişmiş güvenilirlik ve esneklik sunan, geliştiriciler için küresel bir standarttır.

    • Esnek dallandırma ve birleştirme - yeni özellikler veya deneyler için ayrı dallar oluşturun ve ardından bunları ana proje sürümüyle kolayca birleştirin.
    • Daha hızlı depo işlemleri - Subversion'ın aksine, Git tüm verileri yerel olarak depolar, bu da işlemleri (işlemeler, sürümler arasında geçiş, değişiklikleri karşılaştırma) önemli ölçüde daha hızlı hale getirir.
    • Çevrimdışı çalışma özelliği - sürekli bir sunucu bağlantısına gerek yok: değişiklikleri yerel olarak işleyin ve uygun olduğunda çevrimiçi bir depoya gönderin.
    • Gelişmiş değişiklik takibi - sürüm geçmişini kolayca inceleyin, zaman damgaları ve yazarlarla değişiklikleri takip edin ve önceki sürümlere sorunsuz bir şekilde geri dönün.
    • Üstün birleştirme işlevi - gelişmiş karşılaştırma ve birleştirme araçları, çakışmaları en aza indirmeye ve işbirliğine dayalı geliştirmeyi kolaylaştırmaya yardımcı olur.

    İşbirliğine dayalı geliştirmede yeni bir seviye
    Git'e geçişle birlikte, proje yönetimi için yeni bir çevrimiçi portal olan MQL5 Algo Forge'u tanıtıyoruz. Bir proje listesinden daha fazlası, geliştiriciler için tam teşekküllü bir sosyal ağdır - esasen algoritmik yatırımcılar için GitHub’dır. İlgi çekici geliştiricileri takip edin, ekipler oluşturun ve projeler üzerinde zahmetsizce işbirliği yapın.




    Proje ayrıntılarını görüntüleyin: yapı, dosyalar, işlemeler, dallar ve daha fazlası. Bireysel katkıları takip edin, dokümantasyon oluşturun ve projeleri çevrimiçi paylaşın.




    Tüm kod değişikliklerini izleyin: yeni, değiştirilmiş ve silinmiş satırları tespit edin. Sorunlar ortaya çıkarsa, görevleri doğrudan proje içindeki geliştiricilere atayın.




    Git'in kullanılabilirliğini artırmak için Kılavuzu ve etkin kod düzenleme penceresini yeniden tasarladık. Ayrıca MetaEditor araç çubuğuna özel bir Git menüsü ekledik:




    Kapsamlı Git dokümantasyonu yakında kullanıma sunulacaktır.

  2. MetaEditor: İşlem terminali, MetaEditor ve görsel sınayıcı da dahil olmak üzere tüm bileşenler için koyu renk şeması desteği eklendi. Koyu tema, geceleri daha rahat bir geliştirme deneyimi sunuyor. Geçiş yapmak için Görünüm menüsünü kullanın:




    Arayüzü farklı temaları destekleyecek şekilde uyarlarken, daha rahat bir kullanıcı deneyimi için iletişim kutularının, menülerin, panellerin ve düğmelerin görünümünde çok sayıda iyileştirme yaptık. MetaEditor'da imleç konum bilgisi ve metin giriş modu göstergesi (INS/OVR) artık sağ üst köşede görüntülenmektedir. Çalışma alanından tasarruf etmek için alt durum çubuğu kaldırılmıştır.

  3. Terminal: 12 aylık VPS kiralama seçeneği eklendi. Tek seferde uzun bir süre için barındırma satın alarak, maliyetin üçte birini tasarruf edersiniz.




  4. Terminal: Bellek kullanımı optimize edildi. Terminal artık daha az sistem kaynağı tüketiyor ve bu da performansın artmasını sağlıyor.
  5. Terminal: Hesap işlem geçmişinin görüntülenmesi optimize edildi. Platform artık milyonlarca kaydı doğru şekilde görüntüleyebiliyor.
  6. Terminal: Pencere menüsüne "Varsayılana sıfırla" komutu eklendi. Bu, grafikler, Kılavuz, Strateji Sınayıcı ve diğerleri dahil olmak üzere tüm arayüz öğelerini orijinal konumlarına sıfırlar.
  7. Terminal: Belirli koşullar altında pozisyon değiştirme iletişim kutusunun donmasına neden olan hata düzeltildi.
  8. Terminal: Negatif fiyatlara sahip açık pozisyonlar için değer hesaplaması düzeltildi.
  9. Terminal: Negatif fiyatlara sahip alım-satım sembolü özelliklerinde teminat oranı hesaplaması düzeltildi.
  10. Terminal: Mevcut MFE ve MAE değerlerinin hesaplanması ve alım-satım raporlarında grafiklerinin görüntülenmesi düzeltildi.
  11. Terminal: Grafik alt pencerelerindeki osilatörlerin ölçeklendirilmesi düzeltildi. Osilatörler için dikey ölçek artık doğru şekilde görüntülenmektedir.
  12. Terminal: Tam ekran moduna geçildiğinde emir defterlerinin ve opsiyon yönetimlerinin görünürlüğü düzeltildi.
  13. Terminal: Hesap işlem geçmişine pozisyon fişinin görüntülenmesi eklendi. İlgili sütunu etkinleştirmek için içerik menüsünü kullanın.
  14. Terminal: Vadeli işlemler ve opsiyonlar için Risk Analizi sekmesinde tasfiye değeri hesaplaması düzeltildi.
  15. Terminal: Yeni oluşturulan hesap verilerinin panoya kopyalanması ile ilgili sorun giderildi. Demo veya ön hesap kaydının son adımı sırasında, kullanıcıya hesap ayrıntıları verilir: kullanıcı adı, şifreler vb. Bunlar ayrı bir dosyaya kaydedilmek üzere panoya kopyalanabilir. İlgili komut artık macOS'ta doğru şekilde çalışmaktadır.
  16. Terminal: VPS günlük bölümünün görüntülenmesi düzeltildi. Sayfa belirli koşullar altında bir hata görüntüleyebiliyordu.
  17. Terminal: Linux üzerinde HiDPI monitör desteği düzeltildi.
  18. Terminal: Kullanıcı arayüzünün çevirileri güncellendi.
  19. MQL5: Matris çarpımı operatörü @ eklendi. Lineer cebir kurallarını takip eder ve matrislerin ve vektörlerin çarpımının yanı sıra vektörlerin skaler (nokta) çarpımına olanak tanır.

    Matris çarpımı (matris × matris)
    matrix A(2, 3);
    matrix B(3, 2);
    matrix C = A @ B; // Result: Matrix C of size [2,2]
    Matris çarpımı (matris × vektör)
    matrix M(2, 3);
    vector V(3);
    vector R = M @ V; // Result: Vector R of 2 elements
    Matris çarpımı (vektör x matris)
    matrix M(2, 3);
    vector V(1, 2);
    vector R = V @ M; // Result: Vector R of 3 elements
    Skaler çarpım (vektör × vektör)
    vector V1(1, 3), V2(1, 3);
    double r = V1 @ V2; // Result: Scalar
  20. MQL5: Std, Var ve Cov metotlarına 'ddof' parametresi eklendi. Bu parametre, standart sapma hesaplanırken paydadan çıkarılan serbestlik derecesi sayısını tanımlar. Std ve Var için varsayılan parametre 0, Cov için ise 1'dir.

    ddof hesaplamayı nasıl etkiler:

    • Varsayılan olarak ddof=0'dır, yani popülasyon standart sapması hesaplanır.
    • Eğer ddof=1 ise, fonksiyon örneklem standart sapmasını hesaplar, bu da sınırlı örneklem büyüklükleri için ayarlama yapar, istatistikte genellikle bir veri alt kümesini analiz ederken kullanılır.

  21. MQL5: Yeni OpenBLAS metotları eklendi:

    Öz değerler ve öz vektörler

    • EigenTridiagonalDC - böl ve yönet algoritmasını kullanarak simetrik üç köşegenli bir matrisin öz değerlerini ve öz vektörlerini hesaplar (LAPACK fonksiyonu STEVD).
    • EigenTridiagonalQR - QR algoritmasını kullanarak simetrik üç köşegenli bir matrisin öz değerlerini ve öz vektörlerini hesaplar (LAPACK fonksiyonu STEV).
    • EigenTridiagonalRobust - MRRR (Multiple Relatively Robust Representations) algoritmasını kullanarak simetrik üç köşegenli bir matrisin öz değerlerini ve öz vektörlerini hesaplar (LAPACK fonksiyonu STEVR).
    • EigenTridiagonalBisect - ikiye bölme algoritmasını kullanarak simetrik üç köşegenli bir matrisin öz değerlerini ve öz vektörlerini hesaplar (LAPACK fonksiyonu STEVX).
    • ReduceToBidiagonal - genel bir reel veya karmaşık m'ye n matris A'yı ortogonal bir dönüşümle üst veya alt iki köşegenli B formuna indirger: Q**T * A * P = B. Eğer m≥n ise, B bir üst iki köşegenli matristir; eğer m<n ise, B alt iki köşegenlidir. (LAPACK fonksiyonu GEBRD).
    • ReflectBidiagonalToQP - reel veya karmaşık bir A matrisini iki köşegenli forma indirgerken ReduceToBidiagonal metoduyla belirlenen Q ve P**T (veya karmaşık türler için P**H) ortogonal matrislerini oluşturur: A = Q * B * P**T. Q ve P**T sırasıyla H(i) veya G(i) temel yansıtıcılarının çarpımları olarak tanımlanır. (LAPACK fonksiyonları ORGBR, UNGBR).
    • ReduceSymmetricToTridiagonal - reel bir simetrik veya karmaşık Hermit matrisi A'yı ortogonal benzerlik dönüşümü ile üç köşegenli B formuna indirger: Q**T * A * Q = B. (LAPACK fonksiyonları SYTRD, HETRD).
    • ReflectTridiagonalToQ - ReduceSymmetricToTridiagonal tarafından geri döndürüldüğü gibi, n. dereceden n-1 temel yansıtıcının çarpımı olarak tanımlanan Q ortogonal matrisini oluşturur.

    • LinearEquationsSolution - kare katsayı matrisi A ve çoklu sağ tarafa sahip lineer denklem sisteminin çözümünü hesaplar.
    • LinearEquationsSolutionTriangular - kare üçgen katsayı matrisi A ve çoklu sağ tarafa sahip lineer denklem sisteminin çözümünü hesaplar.
    • LinearEquationsSolutionSy - simetrik veya Hermit eşlenik A matrisi ve çoklu sağ tarafa sahip lineer denklem sisteminin çözümünü hesaplar.
    • LinearEquationsSolutionComplexSy - karmaşık simetrik matris A ve çoklu sağ tarafa sahip lineer denklem sisteminin çözümünü hesaplar.
    • LinearEquationsSolutionGeTrid - simetrik veya Hermit eşlenik pozitif tanımlı A matrisi ve çoklu sağ tarafa sahip lineer denklem sisteminin çözümünü hesaplar.
    • LinearEquationsSolutionSyPD - genel (simetrik olmayan) üç köşegenli katsayı matrisi A ve çoklu sağ tarafa sahip lineer denklem sisteminin çözümünü hesaplar.
    • LinearEquationsSolutionSyTridPD - simetrik üç köşegenli pozitif tanımlı katsayı matrisi A ve çoklu sağ tarafa sahip lineer denklem sisteminin çözümünü hesaplar.
    • FactorizationQR - genel bir m'ye n matrisin QR ayrışmasını hesaplar: A = Q * R (LAPACK fonksiyonu GEQRF).
    • FactorizationQRNonNeg - genel bir m'ye n matrisin QR ayrışmasını hesaplar: A = Q * R, burada R negatif olmayan köşegen girdilerine sahip bir üst üçgen matristir (LAPACK fonksiyonu GEQRFP).
    • FactorizationQRPivot - sütun pivotlama ile genel bir m'ye n matrisin QR ayrışmasını hesaplar: A * P = Q * R (LAPACK fonksiyonu GEQP3).
    • FactorizationLQ - genel bir m'ye n matrisin LQ ayrışmasını hesaplar: A = L * Q (LAPACK fonksiyonu GELQF).
    • FactorizationQL - genel bir m'ye n matrisin QL ayrışmasını hesaplar: A = Q * L (LAPACK fonksiyonu GEQLF).
    • FactorizationRQ - genel bir m'ye n matrisin RQ ayrışmasını hesaplar: A = R * Q (LAPACK fonksiyonu GERQF).
    • FactorizationPLU - satır değişimleri ile kısmi pivotlama kullanarak genel bir m'ye n matris A'nın LU ayrışmasını hesaplar (LAPACK fonksiyonu GETRF).
    • FactorizationPLUGeTrid - kısmi pivotlama ve satır değişimleri ile eliminasyon kullanarak genel (simetrik olmayan) üç köşegenli n'ye n matris A'nın LU ayrışmasını hesaplar (LAPACK fonksiyonu GTTRF).
    • FactorizationLDL - Bunch-Kaufman köşegen pivotlama yöntemini kullanarak reel simetrik veya karmaşık Hermit matrisi A'nın ayrışmasını hesaplar (LAPACK fonksiyonları SYTRF ve HETRF).
    • FactorizationLDLSyTridPD - simetrik pozitif tanımlı veya karmaşık veriler için Hermit pozitif tanımlı üç köşegenli A matrisinin ayrışmasını hesaplar (LAPACK fonksiyonu PTTRF).
    • FactorizationCholesky - reel simetrik veya karmaşık Hermit pozitif tanımlı matris A'nın ayrışmasını hesaplar (LAPACK fonksiyonu POTRF).
    • FactorizationCholeskySyPS - reel simetrik (karmaşık Hermit) pozitif yarı tanımlı n'ye n matrisin tam pivotlamayla Cholesky ayrışmasını hesaplar (LAPACK fonksiyonu PSTRF).

  22. MQL5: Vektörleri ve matrisleri rastgele değerlerle doldurmak için Random fonksiyonu ve metodu eklendi. Rastgele değerler belirtilen aralıkta tekdüze olarak üretilir.
    static vector vector::Random(
      const ulong   size,       // vector length
      const double  min=0.0,    // min value
      const double  max=1.0     // max value
       );
    
    static matrix matrix::Random(
      const ulong   rows,       // number of rows
      const ulong   cols        // number of columns
      const float   min=0.0,    // min value
      const float   max=1.0     // max value
       );
  23. MQL5: Tamsayı türleri için ek takma ad desteği eklendi. Bu, C ve C++ gibi diğer dillerden kod aktarmayı kolaylaştıracaktır.

    Bu takma adlar yeni türler sunmaz, ancak MQL5'teki mevcut türler için alternatif adlar sağlar. Temel türlerin uygulanabilir olduğu tüm bağlamlarda kullanılabilirler.

    • int8_t
    • uint8_t
    • int16_t
    • uint16_t
    • int32_t
    • uint32_t
    • int64_t
    • uint64_t

  24. MQL5: Terminal renk şemasını tespit etmek için yeni fonksiyonlar eklendi:

    • ENUM_TERMINAL_INFO_STRING numaralandırmasına yeni bir TERMINAL_COLORTHEME_NAME özelliği eklendi. Terminalin renk şemasını sorgulamak için bu özelliği TerminalInfoString fonksiyonuyla birlikte kullanın. Olası değerler: Light ve Dark.
    • ENUM_TERMINAL_INFO_INTEGER numaralandırmasına yeni THEME_COLOR_* özellikleri eklendi. Belirli arayüz öğelerinin renklerini almak için bunları TerminalInfoInteger fonksiyonuyla birlikte kullanın.

    Bir renk şeması değişikliğini algılamak için OnChartEvent işleyicisini kullanın. Tema değiştiğinde, CHARTEVENT_CHART_CHANGE olayı iki kez tetiklenir.

  25. MQL5: Array::Reserve metodunu içeren kod derlenirken MetaEditor'ın çökmesine neden olan bir hata düzeltildi. 'Reserve' metodu dizi büyüklüğünü değiştirmez, ancak yeni öğeler eklenirken belleğin yeniden ayrılmasını önlemek üzere belirtilen sayıda öğe için yer ayırır.
  26. MQL5: Bir dizinin sonuna yeni elemanlar ekleyen Array::Push metodunun davranışı düzeltildi. Sorun, önceden ayrılmış arabellek alanı olan dizilerde meydana geliyordu.
  27. MQL5: OpenCL ile çalışma fonksiyonlarındaki sorunlar çözüldü.
  28. MetaTester: Alım-satım stratejilerinin optimizasyonu hızlandırıldı.
  29. MetaTester: Bazı durumlarda, MQL5 Bulut Ağından görevler yürütülürken test temsilcileri tarafından aşırı bellek kullanımına yol açan bir hata düzeltildi.

MetaTrader 5 Web Terminali

  1. Hesap bağlantısı iletişim kutusundaki şifre kaydetme seçeneği düzeltildi.
  2. Grafik hareket düğmeleri düzeltildi. Bazı durumlarda, bu düğmelerin kullanılması grafiğin kaybolmasına neden olabiliyordu.
  3. Gerçek hesap kayıt formundaki "İkinci ad" alanı için doğrulama düzeltildi. Artık isteğe bağlıdır.
  4. Demo hesaplarının açılması düzeltildi. Bazı durumlarda kullanıcılar yanlış bir şekilde aracı kurumun web sitesine yönlendiriliyordu.
  5. Demo ve gerçek hesap açma düğmelerinin görünürlüğü düzeltildi. İlgili işlev aracı kurum tarafından devre dışı bırakılmışsa bu düğmeler artık gizlidir.
  6. Demo hesap açılış formundaki "Bakiye" alanı davranışı düzeltildi.
  7. Sözleşme özelliklerindeki "İşlem" alanının görüntülenmesi düzeltildi.
  8. "Piyasa Gözlemi" penceresindeki sembol arama alanı düzeltildi. Arama modundan çıkmak için "X" düğmesi artık doğru şekilde görüntüleniyor.
  9. Hesap açma formundaki e-posta onay kodu alanı için ipucunun görüntülenmesi düzeltildi.


Güncelleme, Canlı Güncelleştirme sistemi aracılığıyla sunulacaktır.