MT5 ile Nasıl Başlanır, bir özet! - sayfa 2

 

Yakında gelecek -
Yeni iletişim sistemi Telegram'ın bir benzeri - bu yazıyı okuyun.

 

Görselleştirilmiş bilgilerle iyi bir iş parçacığı oluşturuldu - İpuçları dizisi .
Bu küçük başlığı tüm yeni başlayanlara (bilmek için) ve deneyimli kullanıcılara (bilgilerini yenilemek için) okumaları şiddetle tavsiye edilir.

----------------

serbest hizmet

  • MQL5 hesabınıza nasıl para yatırılır
  • Bir sonraki aşamaya nasıl geçilir
  • Geri bildirim nasıl bırakılır
  • ekran görüntüsü nedir
  • Bir ön Gereksinim Belirtimi dosyası/diğer formatlardaki dosyalar nasıl eklenir
  • Programda bir hata varsa Geliştiriciye sağlanacak şeyler
  • Bir metne resim/kod/video/tablo nasıl eklenir
  • Bir mobil cihazda ekran görüntüsü nasıl yapılır
  • Sipariş yürütme süresi/maliyeti nasıl uzatılır?
  • Yürütme için 3 gün ayarladıktan sonra 5 gün boyunca kaybolma Müşteri: Sohbete gömmek için video yerine GIF görüntüsü nasıl oluşturulur?

----------------

platformu

  • Uzman Danışman/gösterge nasıl kurulur
  • Platform/test kullanıcısı/optimizer günlüğü nerede?
  • Push bildirimlerini yapılandırmak için MetaQuotes Kimliği nerede?
  • Üç tıklamayla grafik menüsü aracılığıyla bir hatanın ekran görüntüsü nasıl yapılır
  • E-posta bildirimleri nerede etkinleştirilir ve yapılandırılır
  • Bir EA/göstergenin birlikte çalıştığı dosyalar nerede?
  • 'Açıklama' ve 'simge' alanları nelerdir ve nerede bulunurlar?
  • Platform yapı numarası nerede bulunur? Veri penceresi nasıl etkinleştirilir ve gösterge değerleri nasıl görülür?
  • Doğru zaman ölçeği nasıl etkinleştirilir
  • Bir grafik şablonu nasıl kaydedilir
  • WebRequest aracılığıyla çalışacak bir URL nasıl eklenirEX4/EX5 dosyalarının bulunduğu yer

----------------

Uzman danışman

  • Sihirli Sayı Nedir?
  • İzleyen durdurma nasıl çalışır EA'nın günlüğü nerede
  • Gezgin'de bir EA/gösterge neden gridir?
  • Netleştirme ve Riskten Korunma arasındaki fark nedir
  • Marketten satın alınan bir ürün nasıl kurulur

----------------

test cihazı

  • Bir küme dosyası nasıl kaydedilir/yüklenir
  • Platform/test kullanıcısı/optimizer günlüğü nerede bulunur?
  • Test modları birbirinden nasıl farklıdır?
  • Görsel test nasıl başlatılır ve kullanılır?
  • MetaTrader 4'te mevcut bir fiyat geçmişi nasıl indirilir

 

Bu çok önemli ve çok ilginç bir güncelleme - lütfen okuyun -

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

MetaTrader 5 Platform Beta Build 1910: MQL5'te grafiklerin ve .Net kitaplıklarının bağlantısız sürükle ve bırak özelliği

MetaQuotes Yazılım A.Ş. , 2018.10.12 19:43

Güncellenen MetaTrader 5 platformunun beta sürümü 14 Ekim 2018'de yayınlanacak. Access.metatrader5.com:443 adresinde bulunan genel MetaQuotes-Demo sunucumuzu güncelleyeceğiz. Güncellenen platform özelliklerini değerlendirmek ve geliştiricilerin hataları düzeltmesine yardımcı olmak için tüm tüccarları testlere katılmaya davet ediyoruz.

MetaTrader 5 platformunu 1910'a kadar güncellemek için access.metatrader5.com sunucusuna bağlanın:443.

Yeni MetaTrader 5 platformunun son yapısı, genel beta testinden sonra yayınlanacak.

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

  1. Terminal: Artık finansal sembol çizelgelerini ticaret terminali penceresinden ayırabilirsiniz.

    Bu özellik, birden fazla monitör kullanıldığında kullanışlıdır. Böylece ana platform penceresini tek bir monitörde hesap durumunuzu kontrol etmek için ayarlayabilir ve piyasa durumunu gözlemlemek için grafiklerinizi ikinci ekrana taşıyabilirsiniz. Bir grafiği terminalden ayırmak için bağlam menüsünde Yerleştirilmiş seçeneğini devre dışı bırakın. Bundan sonra grafiği istediğiniz monitöre taşıyın.



    Ayrılmış grafiklerdeki ayrı bir araç çubuğu, monitörler arasında geçiş yapmak zorunda kalmadan analitik nesnelerin ve göstergelerin uygulanmasına olanak tanır. Kullanılabilir komutlar kümesini yönetmek veya gizlemek için araç çubuğu bağlam menüsünü kullanın.

  2. Terminal: Yerleşik sohbetler tamamen güncellendi. Artık grup diyaloglarını ve kanallarını destekliyorlar. Farklı diyaloglar arasında geçiş yapmadan birleşik bir ortamda bir grup insanla özel tartışmalar yapın ve ilgi alanlarınıza ve dillerinize göre kanallar oluşturun. Web sitesini ziyaret etmeden MQL5.community'deki meslektaşlarınız ve arkadaşlarınızla iletişim kurun.

    Grup sohbetleri ve kanalları herkese açık veya özel olabilir. Onlara özgürce veya yalnızca davetle katılmanın mümkün olup olmadığına yaratıcıları karar verir. Ayrıca, ek iletişim kontrolü için kanallara ve sohbetlere moderatörler atayabilirsiniz.



  3. Terminal: Kripto para ticareti için artırılmış hacim doğruluğu desteği eklendi. Şimdi mümkün olan minimum işlem hacmi 0,00000001 lottur. Pazar derinliği, zaman ve satışların yanı sıra diğer arayüz öğeleri artık hacimleri 8 ondalık basamağa kadar doğru olarak görüntüleme özelliğine sahiptir.

    Minimum hacim ve değişim adımı, komisyoncu tarafındaki finansal araç ayarlarına bağlıdır.




  4. Terminal: MQL5.community'de yayınlanan makalelerin sekmesi Toolbox penceresine eklendi. MQL5'te ticaret stratejilerinin geliştirilmesine ilişkin 600'den fazla ayrıntılı materyal artık terminalden ayrılmaya gerek kalmadan mevcut. Yeni makaleler haftalık olarak yayınlanmaktadır.



  5. Terminal: Wine altında çalışırken sertifikaları kullanarak genişletilmiş kimlik doğrulama desteği eklendi.
  6. Terminal: Bir seviye ile sınırlı olduğunda piyasa derinliğinin sabit gösterimi.
  7. Terminal: Standart araç çubuğuna "Resim Olarak Kaydet" komutu eklendi. Artık grafiklerin fotoğraflarını çekmek ve bunları toplulukta paylaşmak çok daha kolay.




  8. Terminal: Çubuklar ve keneler içe aktarılırken zaman kaymasının uygulanması düzeltildi. Daha önce, bazı durumlarda vardiya uygulanmıyordu.



  9. MQL5: "Akıllı" işlevlerin içe aktarılmasıyla .NET kitaplıkları için yerel destek eklendi. Artık .NET kitaplıkları özel sarmalayıcılar yazmadan kullanılabilir - MetaEditor bunu kendi başına yapar.

    .NET kitaplığı işlevleriyle çalışmak için, belirli işlevleri tanımlamadan DLL'nin kendisini içe aktarmanız yeterlidir. MetaEditor, çalışması mümkün olan tüm işlevleri otomatik olarak içe aktarır:
    • Basit yapılar (POD, düz eski veriler)
    • Basit veri türlerine sahip yapılar
    • Yalnızca basit tiplerin ve POD yapılarının veya bunların dizilerinin kullanıldığı parametrelere sahip genel statik işlevler

    Kütüphaneden fonksiyonları çağırmak için basitçe içe aktarın:
     #import "TestLib.dll"
    
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart ()
      {
       int x= 6 ;
       TestClass::Inc(x);
       Print (x);
      }
    TestClass'ın Inc işlevinin C# kodu aşağıdaki gibi görünür:
     public class TestClass
    {
       public static void Inc(ref int x)
       {
        x++;
       }
    }
    Yürütme sonucunda komut dosyası 7 değerini döndürür.

  10. MQL5: Kod ayrıştırılırken satır içi, __inline ve __forceinline belirteçleri için destek eklendi. Kodda belirteçlerin bulunması hataya neden olmaz ve derlemeyi etkilemez. Şu anda bu özellik, С++ kodunun MQL5'e aktarılmasını kolaylaştırıyor.
    MSDN'de belirteçler hakkında daha fazla bilgi bulun.

  11. MQL5: MQL5 programlarının önemli ölçüde optimize edilmiş yürütülmesi. Bazı durumlarda, performans artışı %10'a ulaşabilir. Programlarınızı daha hızlı çalıştırmak için yeni MetaEditor sürümünde yeniden derleyin.
    Ne yazık ki, bu ek optimizasyon nedeniyle yeni programlar önceki terminal sürümleriyle uyumlu olmayacaktır. MetaEditor sürüm 1910 ve sonraki sürümlerde derlenen programlar, 1880'in altındaki terminal sürümlerinde başlatılamaz. Daha önceki MetaEditor sürümlerinde derlenen programlar yeni terminallerde çalışabilir.

  12. MQL5: Önemli ölçüde optimize edilmiş çoklu MQL5 işlevleri.
  13. MQL5: Terminal ana penceresinden çizelgeleri eklemek/çıkarmak ve konumlarını yönetmek için yeni özellikler eklendi.

    ENUM_CHART_PROPERTY_INTEGER numaralandırmasına aşağıdaki özellikler eklendi:

    • CHART_IS_DOCKED — grafik penceresi sabitlendi. 'Yanlış' olarak ayarlanırsa, grafik terminal alanının dışına sürüklenebilir.
    • CHART_FLOAT_LEFT — sanal ekrana göre ayrılmış grafik penceresinin sol koordinatı.
    • CHART_FLOAT_TOP — sanal ekrana göre ayrılmış grafik penceresinin üst koordinatı.
    • CHART_FLOAT_RIGHT — sanal ekrana göre ayrılmış grafik penceresinin sağ koordinatı.
    • CHART_FLOAT_BOTTOM — sanal ekrana göre ayrılmış grafik penceresinin alt koordinatı.

    ENUM_TERMINAL_INFO_INTEGER numaralandırmasına aşağıdaki işlevler eklendi:

    • TERMINAL_SCREEN_LEFT — sanal ekranın sol koordinatı. Sanal ekran, tüm monitörleri kapsayan bir dikdörtgendir. Sistem sağdan sola sıralanmış iki monitöre sahipse, sanal ekranın sol koordinatı iki monitörün sınırında olabilir.
    • TERMINAL_SCREEN_TOP — sanal ekranın üst koordinatı.
    • TERMINAL_SCREEN_WIDTH — terminal genişliği.
    • TERMINAL_SCREEN_HEIGHT — terminal yüksekliği.
    • TERMINAL_LEFT — sanal ekrana göre terminalin sol koordinatı.
    • TERMINAL_TOP — sanal ekrana göre terminalin üst koordinatı.
    • TERMINAL_RIGHT — sanal ekrana göre terminalin sağ koordinatı.
    • TERMINAL_BOTTOM — sanal ekrana göre terminalin alt koordinatı.

  14. MQL5: MqlTick ve MqlBookInfo yapılarına volume_real alanı eklendi. Artan doğruluk hacimleriyle çalışmak üzere tasarlanmıştır. Volume_real değeri, 'volume' değerinden daha yüksek bir önceliğe sahiptir. Sunucu, belirtilirse bu değeri kullanır.

    struct  MqlTick
      {
        datetime          time;           // Last price update time
        double            bid;            // Current Bid price
        double            ask;            // Current Ask price
        double            last;           // Current price of the Last trade
        ulong             volume;         // Volume for the current Last price
        long              time_msc;       // Last price update time in milliseconds
        uint              flags;          // Tick flags
        double            volume_real;    // Volume for the current Last price with greater accuracy
      };

    struct MqlBookInfo
      {
       ENUM_BOOK_TYPE   type;             // order type from the ENUM_BOOK_TYPE enumeration
       double            price;           // price
       long              volume;           // volume
       double            volume_real;     // volume with greater accuracy
      };

  15. MQL5: ENUM_SYMBOL_INFO_DOUBLE numaralandırmasına yeni özellikler eklendi:

    • SYMBOL_VOLUME_REAL — son yürütülen anlaşmanın hacmi;
    • SYMBOL_VOLUMEHIGH_REAL — mevcut gün için en yüksek anlaşma hacmi;
    • SYMBOL_VOLUMELOW_REAL — mevcut gün için en düşük anlaşma hacmi;

    Bu özellikleri almak için SymbolInfoDouble işlevini kullanın.

  16. MQL5: ENUM_MQL_INFO_INTEGER numaralandırmasına - ileri test modu bayrağına MQL_FORWARD özelliği eklendi.
  17. MQL5: Döküm numaralandırmaları için rahat gereksinimler. Örtük bir döküm durumunda, derleyici otomatik olarak doğru numaralandırmanın değerini değiştirir ve bir uyarı görüntüler.

    Aşağıdaki kod için:
     enum Main
      {
       PRICE_CLOSE_,
       PRICE_OPEN_
      };
    
    input Main Inp=PRICE_CLOSE;
    //+------------------------------------------------------------------+
    //| Start function                                                   |
    //+------------------------------------------------------------------+
    void OnStart ()
      {
      }
    Derleyici şu uyarıyı görüntüler:
    implicit conversion from 'enum ENUM_APPLIED_PRICE' to 'enum Main'
    'Main::PRICE_OPEN_' instead of 'ENUM_APPLIED_PRICE::PRICE_CLOSE' will be used
    Daha önce, bu durumda aşağıdaki hata oluşturuldu:
    'PRICE_CLOSE' - cannot convert enum
    İşlev parametrelerinde numaralandırmalar yanlış kullanılırsa, derleyici hatayı görüntülemeye devam edecektir.

  18. MQL5: Şablon fonksiyonlarının derlenmesi düzeltildi. Artık, aşırı yüklenmiş şablon işlevleri kullanılırken, mevcut olanların tümü yerine yalnızca gerekli aşırı yükleme somutlaştırılır.
     class X {  };
    
    void f( int )  {  }
      
    template < typename T>
    void a(T*) { new T( 2 ); }   // previously, the compiler generated the error here
      
    template < typename T>
    void a()  { f( 0 ); }
      
      
    void OnInit ()  { a<X>(); }  
    
  19. MQL5: CopyTicks* işlevi aracılığıyla bazı onay geçmişine erişim durumları optimize edildi.
  20. Test Cihazı: Test/optimizasyon ve ilgili raporların oluşturulması sırasında mevduat para birimi doğruluğunun hesaplanması düzeltildi.
  21. Test Cihazı: Strateji test cihazı işlemini optimize etti ve hızlandırdı.
  22. MetaEditor: Tüm kelimeler için sabit arama. Artık arama yaparken, alt çizgi bir sözcük sınırlayıcı yerine normal bir karakter olarak sayılıyor.
  23. Güncellenmiş belgeler.

 

İyi iş parçacığı başlatıldı - MQL5 ile nasıl başlanır

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

MQL5 ile nasıl başlanır

Vladimir Karputov , 2018.12.24 20:34

Bu iş parçacığı MQL5 kod örneklerini tartışır. Göstergelerden nasıl veri alınacağına, danışmanların nasıl programlanacağına dair örnekler olacak ... genel olarak, başlangıç seviyesinden MQL5 diline kadar herhangi bir soru.


MetaTrader 5 terminali ile yeni tanışmaya başladıysanız, aşağıdaki konuları önerebilirim:

 

Piyasadaki her satıcının okuması gereken bir makale var: Market ürünlerinin doğrulanması ile ilgili -

----------------

Bir ticaret robotunun Market'te yayınlanmadan önce geçmesi gereken kontroller

Why products are checked before they are published in the Market

Herhangi bir ürün, Market'te yayınlanmadan önce zorunlu ön kontrollerden geçmelidir, eksper veya gösterge mantığındaki küçük bir hata işlem hesabında kayıplara neden olabilir. Bu nedenle Market ürünlerinin gerekli kalite seviyesini sağlamak için bir dizi temel kontrol geliştirdik.

Ürününüzü kontrol etme sürecinde Market moderatörleri tarafından herhangi bir hata tespit edilirse, hepsini düzeltmeniz gerekecektir. Bu makale, geliştiriciler tarafından ticaret robotlarında ve teknik göstergelerde en sık yapılan hataları ele almaktadır. Ayrıca aşağıdaki makaleleri okumanızı öneririz:

 

Teşekkürler dostum...

Çok faydalı, büyük çaba...

 

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

Yeni MetaTrader 5 Platform build 2005: Ekonomik Takvim, hizmet olarak MQL5 uygulamaları ve R dili API'si

MetaQuotes Yazılım A.Ş. , 2019.02.20 17:20

MetaTrader 5 platform güncellemesi 21 Şubat 2019'da yayınlanacak. Yeni sürüm aşağıdaki değişiklikleri içeriyor:

  1. Terminal: Tamamen revize edilmiş yerleşik Ekonomik Takvim.

    Ekonomik Takvim bizim özel çözümümüzdür. Burada en büyük 13 küresel ekonomiyle ilgili 600'den fazla finansal haber ve gösterge bulacaksınız: ABD, Avrupa Birliği, Japonya, Birleşik Krallık, Kanada, Avustralya, Çin ve diğerleri. İlgili veriler açık kaynaklardan gerçek zamanlı olarak toplanır.

    Yeni sürüm, güncellenmiş içerikler ve gelişmiş olay filtreleri içerir: zamana, önceliğe, para birimlerine ve ülkelere göre.

    Takvim verilerine artık MQL5 programlarından erişilebilir. Ayrıntılar için lütfen aşağıya bakın.




  2. Terminal: Yeni MQL5 uygulamaları türü eklendi — Hizmetler. Bu yeni tür, terminal için özel fiyat beslemelerinin oluşturulmasını sağlar, yani, tıpkı brokerlerin ticaret sunucularında uygulandığı gibi, harici sistemlerden gerçek zamanlı olarak fiyat teslimini uygulamak için.

    Uzman Danışmanların, göstergelerin ve komut dosyalarının aksine, hizmetler belirli bir çizelgeye bağlı değildir. Bu tür uygulamalar arka planda çalışır ve terminal başlatıldığında otomatik olarak başlatılır (böyle bir uygulama zorla durdurulmadıysa).

    Hizmetler, Gezgin penceresindeki yeni bir bölümden yönetilebilir:





    Hizmetler nasıl oluşturulur?
    Bir hizmet şablonu oluşturmak için ilgili MQL5 Sihirbazı seçeneğini kullanın. Hizmetler, komut dosyalarına benzer bir OnStart giriş noktasına sahiptir. Bu noktada, ağ işlevlerini kullanarak sonsuz bir veri alma ve işleme döngüsü uygulayabilirsiniz.

    Hizmetler nasıl başlatılır
    Farklı parametrelere sahip birden fazla Expert Advisor veya gösterge kopyası çalıştırmak için bunları farklı grafiklerde başlatmanız gerekir. Bu durumda, daha sonra bağımsız olarak çalışan farklı program örnekleri oluşturulur. Hizmetler grafiklere bağlı değildir, bu nedenle hizmet örneklerinin oluşturulması için özel bir mekanizma uygulanmıştır.

    Gezgin'den bir hizmet seçin ve bağlam menüsünde "Hizmet ekle"ye tıklayın. Bu, ticareti etkinleştirebileceğiniz/devre dışı bırakabileceğiniz ve sinyal ayarlarına erişimin yanı sıra çeşitli parametreleri ayarlayabileceğiniz standart bir MQL5 program iletişim kutusunu açacaktır.




    Bir hizmet örneği, uygun örnek menüsü kullanılarak başlatılabilir ve durdurulabilir. Tüm örnekleri yönetmek için servis menüsünü kullanın.

  3. Terminal: Bir öğrenme programı eklendi.

    Yeni özellik, yeni başlayanların platformla nasıl etkileşime gireceklerini öğrenmelerine yardımcı olacak. Ana platform özellikleriyle ilgili 100'den fazla etkileşimli ipucu ekledik.

    • İpuçları, araç çubuğunda bir ilerleme çubuğu olarak sorunsuz bir şekilde görüntülenir ve böylece kullanıcının dikkatini dağıtmaz.
    • İpuçları, yalnızca platformda hiç gerçekleştirmediğiniz eylemler için görünür.
    • Tüm ipuçları, ilgili arayüz öğelerine gidebileceğiniz etkileşimli bağlantılar içerir. Örneğin, bir ticaret iletişim kutusu veya istenen programı içeren bir menü, doğrudan uçtan başlatılabilir.

    Uygun eylemleri gerçekleştirdiğinizde ve eğitime devam ettiğinizde ilerleme çubuğunun dolu alanı artacaktır.




  4. Terminal: İşlem hesabı geçmişi pozisyonlar olarak sunulabilir. Platform, pozisyonla ilgili (açılış, hacim artışı, kısmi veya tam kapanış) işlem verilerini toplar ve bilgileri tek bir kayıtta gruplandırır. Böylece pozisyon detaylarına erişebilirsiniz: açılış ve kapanış zamanı, hacim, fiyat ve sonuç. Bu verimli sunum formu artık dosyalara aktarılan geçmiş raporlarında mevcuttur.




  5. Terminal: R dilini kullanan uygulamalar aracılığıyla MetaTrader 5 terminal verilerinin talep edilmesini sağlayan yeni API eklendi.

    Özel bir MetaTrader paketi hazırladık. R ve MetaTrader 5 terminali, belgeler ve yardımcı r dosyaları arasındaki etkileşimler için DLL içerir. CRAN deposundaki paket kaydını tamamlıyoruz, ardından indirme ve kurulum için hazır olacak.




    Paket özel bir komut kullanılarak kurulabilir:
    R CMD INSTALL --build MetaTrader

    Veri talebiyle ilgili aşağıdaki komutlar mevcuttur:

    • MT5Initialize, MetaTrader 5 terminalini başlatır ve onunla bağlantı kurar. Gerekirse, komut yürütme sırasında terminal başlatılır.
    • MT5Shutdown, MetaTrader 5'i başlatır ve bağlantısını keser.
    • MT5Version, MetaTrader 5 terminal sürümünü alır.
    • MT5TerminalInfo, bir aracının sunucusuna (hesap numarası ve sunucu adresi) terminal bağlantısının durumunu ve parametrelerini alır.
    • MT5WaitTerminal, MetaTrader 5 terminalinin bir aracının sunucusuna bağlanmasını bekler.
    • MT5CopyTicksFrom(symbol, from, count, flags) belirtilen tarihten başlayarak belirtilen sayıda onay işaretini kopyalar. Tarih, 01.01.1970 tarihinden itibaren milisaniye cinsinden belirtilir.
    • MT5CopyTicksRange(symbol, from, to, flags) belirtilen süre içinde keneleri kopyalar. Tarihler 01.01.1970 tarihinden itibaren milisaniye cinsinden belirtilmiştir.
    • MT5CopyRatesFrom(symbol, timeframe, from, count), belirtilen tarihten başlayarak belirtilen sayıda bir dakikalık çubukları kopyalar. Tarih, 01.01.1970 tarihinden itibaren saniye cinsinden belirtilir.
    • MT5CopyRatesFromPos(symbol, timeframe, start_pos, count), son çubuğa göre belirtilen konumdan bir dakikalık çubukları kopyalar.
    • MT5CopyRatesFromRange(symbol, timeframe, date_from, date_to) belirtilen süre içindeki çubukları kopyalar. Tarihler 01.01.1970 tarihinden itibaren saniye cinsinden belirtilir.

    Desteklenen komutların listesi daha da genişletilecektir.

  6. Terminal: Bir pozisyonu zıt bir pozisyonla kapatmak için kullanılan Close By diyalogu optimize edildi. Artık, çok sayıda açık pozisyonunuz olsa bile diyalog yavaşlamıyor.
  7. Terminal: Verilerin zaman zaman atlanabileceğinden kaynaklanan sabit sentetik sembol hesaplama hataları.
  8. Terminal: Özel bir sembol silindiğinde, işaretini ve çubuk geçmişini saklayan dosyalar da silinir. Bu, sabit diskte kullanılmayan verilerin birikmesini önler.
  9. Terminal: Arama sonuçlarının Yüksek DPI ekranlarında görüntülenmesi düzeltildi.
  10. MQL5: MQL5 programlarından ekonomik takvim verilerine erişim uygulandı.

    Yeni işlevler

    CalendarCountryById — tanımlayıcıya göre ülke açıklamasını alır.
     bool CalendarCountryById(
       const long            country_id,    // country ID
       MqlCalendarCountry&  country        // country description
       );
    CalendarEventById — tanımlayıcıya göre olay açıklamasını alır.
     bool CalendarEventById(
       const long            event_id,      // event ID
       MqlCalendarEvent&     event           // event description
       );
    CalendarValueById — tanımlayıcıya göre olay değeri açıklamasını alır.
     bool CalendarValueById(
       const long            value_id,      // value ID
       MqlCalendarValue&     value           // value description
       );
    CalendarEventByCountry — ülke için mevcut olan olaylar dizisini alır.
     bool CalendarEventByCountry(
       string                country_code,  // country code
       MqlCalendarEvent&    events[]       // array of events
       );
    CalendarEventByCurrency — etkilenen para birimi için mevcut olaylar dizisini alır.
     bool CalendarEventByCurrency(
       string                currency,       // currency
       MqlCalendarEvent&    events[]       // array of events
       );
    CalendarValueHistoryByEvent — olay tanımlayıcısına göre belirtilen zaman aralığı için değerler dizisini alır.
     bool CalendarValueHistoryByEvent(
       ulong                 event_id,      // event ID
       MqlCalendarValue&    values[],      // array of values
       datetime              datetime_from, // period beginning date
       datetime              datetime_to= 0  // period end date
       );
    CalendarValueHistory — tüm etkinlikler için belirtilen zaman aralığı için ülkeye ve/veya para birimine göre filtrelenmiş değerler dizisini alır.
     bool CalendarValueHistory(
       MqlCalendarValue&    values[],           // array of values
       datetime              datetime_from,     // beginning of period
       datetime              datetime_to= 0 ,     // end of period
       string                country_code=NULL, // country code
       string               currency=NULL      // currency
       );
    CalendarValueLastByEvent — tanımlayıcıya göre bir dizi son olay değeri alır. Bu fonksiyon, önceki istekten bu yana görünen değerlerin isteğini etkinleştirir. Bu işlem için ayrıca "change_id" giriş/çıkış parametresi kullanılır.

    Takvim veritabanı her değiştiğinde, "change_id" özelliği (son değişiklik tanımlayıcısı) güncellenir. Veri talebi sırasında, "change_id" belirtirsiniz ve terminal, bir sonraki istek için kullanılabilecek mevcut "change_id" değerinin yanı sıra, o zamandan sonra görünen olayları döndürür. İlk işlev çağrısı sırasında sıfır "change_id" belirtin: işlev herhangi bir olay döndürmez, ancak daha sonraki istekler için geçerli "change_id" değerini döndürür.
     bool CalendarValueHistory(
       ulong                 event_id,           // event ID
       ulong &               change_id,         // last calendar change ID
       MqlCalendarValue&    values[]           // array of values
       );
    CalendarValueLast — tüm etkinlikler için ülkeye ve/veya para birimine göre filtrelenmiş son değerler dizisini alır. Bu fonksiyon, önceki istekten bu yana görünen değerlerin isteğini etkinleştirir. CalendarValueLastByEvent'e benzer şekilde, istek için "change_id" özelliği kullanılır.
     bool CalendarValueHistory(
       ulong                 event_id,           // event ID
       ulong &               change_id,         // last calendar change ID
       MqlCalendarValue&    values[],           // array of values
       string                country_code=NULL, // country code
       string currency=NULL                     // currency
       );

    Yeni yapılar

    MqlCalendarCountry — ülke açıklaması.
     struct MqlCalendarCountry
      {
       ulong              id;                         // country ID in ISO 3166-1
       string             name;                       // text name of the country
       string             code;                       // code name of the country in ISO 3166-1 alpha-2
       string             currency;                   // country currency code
       string             currency_symbol;           // country currency symbol/sign
       string             url_name;                   // country name used in URL on mql5.com
      };
    MqlCalendarEvent — olay açıklaması.
     struct MqlCalendarEvent
      {
       ulong                           id;           // event ID
       ENUM_CALENDAR_EVENT_TYPE       type;         // event type
       ENUM_CALENDAR_EVENT_SECTOR     sector;       // sector to which the event belongs
       ENUM_CALENDAR_EVENT_FREQUENCY  frequency;     // event release frequency
       ENUM_CALENDAR_EVENT_TIMEMODE   time_mode;     // event release time mode
       ulong                           country_id;   // country ID
       ENUM_CALENDAR_EVENT_UNIT       unit;         // unit for the event values
       ENUM_CALENDAR_EVENT_IMPORTANCE importance;   // event importance
       ENUM_CALENDAR_EVENT_MULTIPLIER multiplier;   // event importance multiplier
       uint                            digits;       // number of decimal places in the event value
       string                          source_url;   // source URL
       string                          event_code;   // event code
       string                          name;         // text name of the event in the terminal language
      };
    MqlCalendarValue — olay değeri açıklaması.
     struct MqlCalendarValue
      {
       ulong              id;                         // value ID
       ulong              event_id;                   // event ID
       datetime           time;                       // event date and time
       datetime           period;                     // period, for which the event is published
       int                revision;                   // published indicator revision in relation to the reported period
       long               actual_value;               // current event value
       long               prev_value;                 // previous event value
       long               revised_prev_value;         // revised previous event value
       long               forecast_value;             // forecast event value
       ENUM_CALENDAR_EVENT_IMPACRT impact_type;     // potential impact on the currency rate
      };

    Yeni numaralandırmalar

     enum ENUM_CALENDAR_EVENT_FREQUENCY
      {
       CALENDAR_FREQUENCY_NONE            = 0 ,   // not used
       CALENDAR_FREQUENCY_WEEK            = 1 ,   // weekly
       CALENDAR_FREQUENCY_MONTH           = 2 ,   // monthly
       CALENDAR_FREQUENCY_QUARTER         = 3 ,   // quarterly
       CALENDAR_FREQUENCY_YEAR            = 4 ,   // yearly
       CALENDAR_FREQUENCY_DAY             = 5 ,   // daily
      };
    
    enum ENUM_CALENDAR_EVENT_TYPE
      {
       CALENDAR_TYPE_EVENT                = 0 ,   // event (meeting, speech, etc.)
       CALENDAR_TYPE_INDICATOR            = 1 ,   // indicator
       CALENDAR_TYPE_HOLIDAY              = 2 ,   // holiday
      };
    
    enum ENUM_CALENDAR_EVENT_SECTOR
      {
       CALENDAR_SECTOR_NONE               = 0 ,   // no
       CALENDAR_SECTOR_MARKET             = 1 ,   // market
       CALENDAR_SECTOR_GDP                = 2 ,   // GDP
       CALENDAR_SECTOR_JOBS               = 3 ,   // jobs
       CALENDAR_SECTOR_PRICES             = 4 ,   // prices
       CALENDAR_SECTOR_MONEY              = 5 ,   // money
       CALENDAR_SECTOR_TRADE              = 6 ,   // trade
       CALENDAR_SECTOR_GOVERNMENT         = 7 ,   // government
       CALENDAR_SECTOR_BUSINESS           = 8 ,   // business
       CALENDAR_SECTOR_CONSUMER           = 9 ,   // consumer
       CALENDAR_SECTOR_HOUSING            = 10 ,   // housing
       CALENDAR_SECTOR_TAXES              = 11 ,   // taxes
       CALENDAR_SECTOR_HOLIDAYS           = 12 ,   // holidays
      };
      
    enum ENUM_CALENDAR_EVENT_IMPORTANCE
      {
       CALENDAR_IMPORTANCE_LOW            = 0 ,   // no
       CALENDAR_IMPORTANCE_NONE           = 1 ,   // low
       CALENDAR_IMPORTANCE_MODERATE       = 2 ,   // moderate
       CALENDAR_IMPORTANCE_HIGH           = 3 ,   // high
      };
    
    enum ENUM_CALENDAR_EVENT_UNIT
      {
       CALENDAR_UNIT_NONE                 = 0 ,   // no
       CALENDAR_UNIT_PERCENT              = 1 ,   // percent
       CALENDAR_UNIT_CURRENCY             = 2 ,   // national currency
       CALENDAR_UNIT_HOUR                 = 3 ,   // number of hours
       CALENDAR_UNIT_JOB                  = 4 ,   // number of jobs
       CALENDAR_UNIT_RIG                  = 5 ,   // number of rigs
       CALENDAR_UNIT_USD                  = 6 ,   // US dollar
       CALENDAR_UNIT_PEOPLE               = 7 ,   // number of people
       CALENDAR_UNIT_MORTGAGE             = 8 ,   // number of mortgages
       CALENDAR_UNIT_VOTE                 = 9 ,   // number of votes
       CALENDAR_UNIT_BARREL               = 10 ,   // number of barrels
       CALENDAR_UNIT_CUBICFEET            = 11 ,   // volume in cubic feet
       CALENDAR_UNIT_POSITION             = 12 ,   // number of job positions
       CALENDAR_UNIT_BUILDING             = 13    // number of buildings
      };
      
    enum ENUM_CALENDAR_EVENT_MULTIPLIER
      {
       CALENDAR_MULTIPLIER_NONE           = 0 ,   // no    
       CALENDAR_MULTIPLIER_THOUSANDS      = 1 ,   // thousands
       CALENDAR_MULTIPLIER_MILLIONS       = 2 ,   // millions
       CALENDAR_MULTIPLIER_BILLIONS       = 3 ,   // billions
       CALENDAR_MULTIPLIER_TRILLIONS      = 4 ,   // trillions
      };
      
    enum ENUM_CALENDAR_EVENT_IMPACRT
      {
       CALENDAR_IMPACT_NA                 = 0 ,   // not available
       CALENDAR_IMPACT_POSITIVE           = 1 ,   // positive
       CALENDAR_IMPACT_NEGATIVE           = 2 ,   // negative
      };
    
    enum ENUM_CALENDAR_EVENT_TIMEMODE
      {
       CALENDAR_TIMEMODE_DATETIME         = 0 ,   // the source publishes the exact time
       CALENDAR_TIMEMODE_DATE             = 1 ,   // the event takes the whole day
       CALENDAR_TIMEMODE_NOTIME           = 2 ,   // the source does not publish the event time
       CALENDAR_TIMEMODE_TENTATIVE        = 3 ,   // the source provides only date, but does not publish the exact time in advance, exact time is added when event occurs
      };

    Yeni hata kodları

    ERR_CALENDAR_MORE_DATA             = 5400 ,   // the array is small for the whole result (values which fit in the array were passed)
    ERR_CALENDAR_TIMEOUT               = 5401 ,   // timed out waiting for a response to the calendar data request
    ERR_CALENDAR_NO_DATA               = 5402 ,   // data not found

  11. MQL5: Onay ve çubuk geçmişiyle ilgili düzeltmeler ve çalışma hızı iyileştirmeleri.
  12. MQL5: Özel işlem sembollerinin, CustomTicks* ve CustomRates* 'in onay ve çubuk geçmişi değiştirme işlevleriyle ilgili düzeltmeler ve önemli işlem hızı iyileştirmeleri.
  13. MQL5: Yeni veri dönüştürme işlevleri.

    CharArrayToStruct , bir uchar dizisini bir POD yapısına kopyalar.
     bool   CharArrayToStruct(
       void &         struct_object,    // structure
       const uchar &  char_array[],      // array
       uint           start_pos= 0         // starting position in the array
       );
    StructToCharArray , bir POD yapısını bir uchar dizisine kopyalar.
     bool   StructToCharArray(
       const void &  struct_object,      // structure
       uchar &       char_array[],      // array
       uint          start_pos= 0         // starting position in the array
       );

  14. Ushort, uint ve ulong değerlerinde bayt sırasını değiştirmek için MathSwap işlevi eklendi.
     ushort MathSwap( ushort value );
    uint    MathSwap( uint    value );
    ulong   MathSwap( ulong    value );

  15. MQL5: Sistem soketleri aracılığıyla uzak ana bilgisayarlara TCP bağlantıları oluşturmak için ağ işlevleri eklendi:

    • SocketCreate, belirtilen bayraklarla bir soket oluşturur ve tutamağını döndürür
    • SocketClose soketi kapatır
    • SocketConnect, sunucuya zaman aşımı kontrolü ile bağlanır
    • SocketIsConnected, soketin şu anda bağlı olup olmadığını kontrol eder
    • SocketIsReadable, soketten okunabilen bayt sayısını alır
    • SocketIsWritable, o anda bu sokete veri yazmanın mümkün olup olmadığını kontrol eder.
    • SocketTimeouts, sistem soket nesnesi için veri alma ve gönderme zaman aşımlarını ayarlar
    • SocketRead bir soketten veri okur
    • SocketSend, verileri bir sokete yazar
    • SocketTlsHandshake, TLS El Sıkışma protokolünü kullanarak belirtilen ana bilgisayarla güvenli bir TLS (SSL) bağlantısı başlatır
    • SocketTlsCertificate, güvenli ağ bağlantısı için kullanılan sertifikayla ilgili bilgileri alır
    • SocketTlsRead, güvenli bir TLS bağlantısından veri okur
    • SocketTlsReadAvailable, güvenli bir TLS bağlantısından mevcut tüm verileri okur
    • SocketTlsSend, güvenli bir TLS bağlantısı kullanarak veri gönderir

    Ağ işlevlerini kullanarak bağlantı kurulan ana bilgisayarın adresi, terminal ayarlarında izin verilen adresler listesine açıkça eklenmelidir.

    Ağ işlevlerine sahip işlemler için yeni hata kodları eklendi:

    • ERR_NETSOCKET_INVALIDHANDLE (5270): işleve geçersiz yuva tanıtıcısı aktarıldı
    • ERR_NETSOCKET_TOO_MANY_OPENED (5271): çok fazla açık soket (maksimum 128)
    • ERR_NETSOCKET_CANNOT_CONNECT (5272): uzak ana bilgisayara bağlanırken hata oluştu
    • ERR_NETSOCKET_IO_ERROR (5273): soketten veri gönderirken/alırken hata oluştu
    • ERR_NETSOCKET_HANDSHAKE_FAILED (5274): güvenli bağlantı kurma hatası (TLS El Sıkışma)
    • ERR_NETSOCKET_NO_CERTIFICATE (5275) — güvenli bağlantı için kullanılan sertifika hakkında veri yok

  16. MQL5: Dizi işlemleri için yeni işlevler eklendi:

    StringReserve, belirtilen boyuttaki bellek arabelleğini bir dize için ayırır.
     bool   StringReserve(
       string &        string_var,           // string
       uint            new_capacity          // buffer size for the string
       );
    StringSetLength, belirtilen dize uzunluğunu karakter olarak ayarlar.
     bool   StringSetLength(
       string &        string_var,          // string
       uint            new_length           // new string length
       );

  17. MQL5: Dizi işlemleri için yeni işlev eklendi:

    ArrayRemove, belirtilen dizinden başlayarak belirtilen sayıda öğeyi bir diziden kaldırır.
     bool   ArrayRemove(
       void &         array[],              // array of any type
       uint           start,                // the index to start removal
       uint           count=WHOLE_ARRAY      // number of elements
       );
    ArrayInsert, belirtilen dizinden başlayarak, kaynak diziden belirtilen sayıda öğeyi alıcı dizisine ekler.
     bool   ArrayInsert(
       void &         dst_array[],          // receiver array
       const void &   src_array[],          // source array
       uint           dst_start,            // index in the receiver array where to insert
       uint           src_start= 0 ,           // index in the source array to start copying
       uint           count=WHOLE_ARRAY     // number of inserted elements
       );
    ArrayReverse, bir dizide belirtilen dizinden başlayarak belirtilen sayıda öğeyi tersine çevirir.
     bool   ArrayReverse(
       void &         array[],              // array of any type
       uint           start= 0 ,               // index to start reversing
       uint           count=WHOLE_ARRAY      // number of elements
       );

  18. MQL5: CustomRatesUpdate , CustomRatesReplace , CustomTicksAdd ve CustomTicksReplace işlevlerine yeni "uint count" parametresi eklendi. Bu işlevler için kullanılacak, geçirilen dizinin eleman sayısının belirtilmesine izin verir. WHOLE_ARRAY değeri, varsayılan olarak parametre için kullanılır. Bu, tüm dizinin kullanılacağı anlamına gelir.
  19. MQL5: Özel bir sembol için Pazar Derinliği durumunu iletmek için CustomBookAdd işlevi eklendi. Bu işlev, fiyatlar bir aracının sunucusundan geliyormuş gibi Pazar Derinliği'nin yayınlanmasına izin verir.
     int   CustomBookAdd(
       const string         symbol,             // symbol name
       const MqlBookInfo&  books[]             // an array with the DOM elements descriptions
       uint                 count=WHOLE_ARRAY   // number of elements to be used
       );
  20. MQL5: CustomSymbolCreate işlevi aşırı yüklemesi eklendi. Bu, mevcut olana dayalı olarak özel bir ticaret sembolü oluşturulmasına izin verir. Oluşturulduktan sonra, ilgili işlevler kullanılarak herhangi bir sembol özelliği düzenlenebilir.
     bool   CustomSymbolCreate (
       const string         symbol_name,       // custom symbol name
       const string         symbol_path= "" ,    // name of the group in which the symbol will be created
       const string         symbol_origin=NULL // name of the symbol based on which the custom symbol will be created
       );
    Özel sembolün özelliklerinin kopyalanması gereken sembolün adı "symbol_origin" parametresinde belirtilir.

  21. Dizeyi tarih/saat ile bir tarih saat değerine dönüştüren StringToTime işlevi güncellendi. Artık aşağıdaki tarih biçimlerini desteklemektedir:

    • yyyy.mm.dd [ss:mi]
    • yyyy.mm.dd [ss:mi:ss]
    • yyyymmdd [ss:mi:ss]
    • yyyymmdd [hhmis]
    • yyyy/aa/gg [ss:mi:ss]
    • yyyy-aa-gg [ss:mi:ss]

  22. MQL5: ENUM_TERMINAL_INFO_INTEGER numaralandırmasında yeni TERMINAL_VPS özelliği; terminalin MetaTrader Sanal Barındırma sunucusunda (MetaTrader VPS) çalıştığını gösterir. Bir barındırma sunucusunda bir uygulama çalışıyorsa, sanal sunucunun grafiksel bir kullanıcı arayüzü olmadığından tüm görsel işlevlerini devre dışı bırakabilirsiniz.
  23. MQL5: ENUM_SYMBOL_INFO_INTEGER numaralandırmasındaki yeni SYMBOL_EXIST özelliği, bu ad altındaki sembolün var olduğu anlamına gelir.
  24. MQL5: Şablon işlevi ön bildirimlerini kullanırken yazma düzeltildi.
  25. MQL5: Bir ticaret hesabını değiştirirken göstergelerin yeniden başlatılması eklendi.
  26. MQL5: Optimize edilmiş StringSplit işlevi.
  27. MQL5: Standart kitaplık işlemindeki sabit hatalar.
  28. Tester: TesterStop işlevi eklendi — bir test aracısında bir Expert Advisor'ın rutin olarak erken kapatılması. Artık belirtilen sayıda kaybedilen işlem sayısına, önceden ayarlanmış bir düşüş düzeyine veya başka herhangi bir kritere ulaştıktan sonra testi zorla durdurabilirsiniz.

    Bu işlev kullanılarak tamamlanan testler başarılı olarak kabul edilir. Fonksiyon çağrısından sonra, test sırasında elde edilen ticaret geçmişi ve tüm ticaret istatistikleri terminale iletilir.

  29. Test Edici: Gerçek onay modunda MQL5 Cloud Network aracılığıyla Expert Advisor'ları test etme ve optimize etme yeteneği devre dışı bırakıldı. Bu mod yalnızca yerel aracılarda ve yerel ağ çiftliklerinde kullanılabilir.
  30. Test Cihazı: Görsel test sırasında göstergelerle iyileştirilmiş çalışma. Artık fiyat tablosu ve gösterge çizgileri, maksimum görselleştirme hızı için bile eşzamanlı olarak çizilir.
  31. Test Cihazı: Optimize edilmiş ve önemli ölçüde hızlandırılmış test ve optimizasyon.
  32. Test Cihazı: Geçmiş verilerdeki göstergelerin hata ayıklaması düzeltildi. Artık OnInit ve OnDeinit gösterge işlevleri düzgün bir şekilde hata ayıklanabilir.
  33. Test Edici: Çok para birimli Uzman Danışmanları test ederken geçmiş verilere daha hızlı erişim uygulandı.
  34. Test Cihazı: Geçmiş verilerde hata ayıklama sırasında görsel test cihazının ara sıra donması düzeltildi.
  35. Test Edici: Bir aracı tarafından bir görev paketi işlenirken, optimizasyon geçişlerinin daha hızlı başlatılması uygulandı.
  36. Testçi: Görev paketlerini test etme aracılarına dağıtma politikası değiştirildi. Paket boyutu büyütülmüş ve böylece ağ operasyonlarındaki kaynak tüketimi önemli ölçüde azaltılmıştır.
  37. Test Edici: Yerel, ağ ve bulut aracılarının kullanımını sağlayan seçeneklerin davranışı değişti. Artık, seçenekleri kapattığınızda, aracılar alınan görevlerin işlenmesini tamamlar ve kendilerine yeni görev verilmez. Önceki sürümlerde, davranış, aracı işlemini hemen durduran "Devre Dışı Bırak" komutuna benziyordu.




  38. MetaEditor: Hata ayıklayıcıda ANSI olmayan karakterler için destek eklendi. Artık, değişken adı Kiril alfabesinde belirtilmiş olsa bile ifadeler düzgün bir şekilde görüntüleniyor.
  39. MetaEditor: Yüksek DPI ekranlarında arama sonuçlarının görüntülenmesi düzeltildi.
  40. Hırvatça'ya kullanıcı arayüzü çevirisi eklendi.
  41. Belgeler güncellendi.
Güncelleme, LiveUpdate sistemi aracılığıyla sunulacak.

 

Merhaba.

Bu 2005'i kurmadan önce 1940 yapımı kaldırmam gerekir mi?
Kaldırmadan denedim ve yükledikten sonra 1940 ile aynı.
Ayrıca, geçen yıldan beri güncelleme yapamıyorum, herhangi bir sebep var mı?
Tümünü kaldırıp tekrar denemeli miyim?


Teşekkürler...

 
yeni başlayanlar için faydalı