- Dil Temelleri
- Sabitler, Sayımlar ve Yapılar
- MQL5 programları
- Öntanımlı Değişkenler
- Yaygın Fonksiyonlar
- Dizi Fonksiyonları
- Matris ve Vektör Metotları
- Dönüşüm Fonksiyonları
- Matematik Fonksiyonları
- Dizgi Fonksiyonları
- Tarih ve Zaman
- Hesap Bilgisi
- Durum Kontrolü
- Olay yönetimi
- Piyasa Bilgisi
- Ekonomik Takvim
- Zaman Serilerine ve Göstergelere Erişim
- Kullanıcı-tanımlı semboller
- Çizelge İşlemleri
- Alım-Satım Fonksiyonları
- Alım-Satım Sinyalleri
- Ağ fonksiyonları
- Terminalin Global Değişkenleri
- Dosya Fonksiyonları
- Özel Göstergeler
- Nesne Fonksiyonları
- Teknik Göstergeler
- Optimizasyon Sonuçları ile Çalışma
- Olay İşleyici Fonksiyonları
- OpenCL ile Çalışma
- Veritabanlarıyla çalışma
- DirectX ile çalışma
- Python için MetaTrader
- ONNX Modelleri
- Standart Kütüphane
- MQL4'ten taşınma
- MQL5 Fonksiyonlarının Listesi
- MQL5 Sabitlerinin Listesi
MQL5 Referansı
MetaQuotes Language 5 (MQL5), finansal ticareti otomatikleştiren teknik göstergeleri, alım-satım robotlarını ve yardımcı uygulamaları geliştirmek için tasarlanan üst düzey bir dildir. MQL5 MetaQuotes tarafından kendi alım-satım platformu için geliştirmiştir. Sözdizimi, C++'a çok yakındır ve bu durum programcıların nesne yönelimli programlama (OOP) biçiminde uygulamalar geliştirmesini sağlar.
MQL5 diline ek olarak, alım-satım platformu paketi ayrıca şablonlar, kırpıntılar, hata ayıklama, profil çıkarma ve otomatik tamamlama araçları gibi yüksek düzeyde gelişmiş kod yazma araçlarına sahip MetaEditor IDE'nin yanı sıra, dosya versiyon belirlemeyi sağlayan yerleşik MQL5 Depolama'yı da içerir.
Dil desteği, büyük bir ücretsiz Kod Tabanı ve bol miktarda makale içeren MQL5.topluluk web sitesinde mevcuttur. Bu makaleler, sinir ağları, istatistik ve analiz, yüksek frekanslı alım-satım, arbitraj, ticaret stratejilerinin test ve optimizasyonu, alım-satım otomasyon robotlarının kullanımı ve daha fazlası dahil olmak üzere modern ticaretin tüm yönlerini kapsamaktadır.
Ticaret adamları and MQL5 program geliştiricileri forum üzerinde iletişim kurabilir, Freelance hizmetini kullanarak uygulama sipariş edebilir ve geliştirebilir, ayrıca otomatik ticaret uygulamaları mağaza'sında korumalı programlar satın alabilir ve satabilirler.
MQL5 dili, programcıların belirli işlem kurallarını takip ederek alım-satım işlemlerini otomatik olarak kontrol eden Uzman Danışmanları (EA) geliştirmelerine yardımcı olmak için özel işlem(alım-satım) fonksiyonlarını ve önceden tanımlanmış olay yöneticilerini sağlar. Uzman danışmanlara ek olarak, MQL5 özel teknik indikatörlerin, komut dosyalarının ve kütüphanelerin geliştirilmesine izin verir.
Bu MQL5 dili referansı, fonksiyonları, operasyonları, ayrılmış sözcükleri ve kategorilere ayrılmış diğer dil yapılarını içermektedir. Referans ayrıca alım-satım stratejileri, kontrol panelleri, özel grafikler geliştirmek ve dosya erişimini etkinleştirmek için kullanılan Standart Kütüphane sınıflarının açıklamalarını sağlamaktadır.
Ek olarak, Kod Tabanı, çeşitli matematik problemlerini çözmek için kullanılabilen ALGLIB sayısal analiz kütüphanesini içermektedir.
MQL5 Uygulama Türleri
MQL5 programları, uyguladıkları alım-satım otomasyon görevlerine dayalı olarak beş özelleşmiş türe ayrılır.
- Uzman Danışman, bir grafiğe bağlanmış otomatik bir alım-satım sistemidir. Bir Uzman Danışman, uygun alım-satım stratejisi elemanlarının gerçekleşimini etkinleştiren önceden tanımlanmış olayları yönetmek için olay yöneticileri içermektedir. Örneğin; bir programın başlatılması ve sonlandırılmasındaki olay, yeni fiyatlar, zamanlayıcı olayları, Piyasa Derinliğindeki değişiklikler, grafik olayları ve özel olaylar.
Uygulanan kurallara dayanarak alım-satım sinyallerinin hesaplamasına ek olarak, Uzman Danışmanlar ayrıca otomatik olarak alım-satım işlemlerini gerçekleştirir ve onları direkt olarak bir alım-satım sunucusuna gönderir. Uzman danışmanlar, <Terminal_Dizini>\MQL5\Experts klasörü içerisinde saklanır. - Özel gösterge, alım-satım platformuna entegre edilmiş var olan standart göstergelere ek olarak, bir kullanıcı tarafından geliştirilmiş bir teknik göstergedir. Standart olanlar hem de özel göstergeler otomatik olarak alım-satım işlemi yapamazlar, ancak sadece analitik fonksiyonlar uygulayabilirler. Özel göstergeler, hesaplamalarda diğer göstergelerin değerlerini kullanabilir ve uzman danışmanlardan çağırılabilirler.
Özel göstergeler, <Terminal_Dizini>\MQL5\Indicators klasörü içerisinde saklanır. - Komut dosyası, bir eylemin tek bir gerçekleşimi için tasarlanmış bir programdır. Uzman danışmanların aksine, komut dosyaları; tetikleyici, başlatma ve sonlandırma olayları hariç hiç bir olayı yönetmezler. Bir komut dosyası kodu, OnStart yönetici fonksiyonunu içermelidir.
Komut dosyaları, <Terminal_Dizini>\MQL5\Indicators klasörü içerisinde saklanır.
- Hizmet; göstergelerin, Uzman Danışmanların ve komut dosyaların aksine çalışabilmesi için bir çizelgeye bağlı olmasına gerek olmayan bir programdır. Komut dosyaları gibi, hizmetler tetikleyici dışında hiçbir olayı yönetmezler. Bir hizmeti başlatmak için, kod OnStart işleyici fonksiyonunu içermelidir. Hizmetler, Başlat hariç başka herhangi bir olayı kabul etmez; ancak EventChartCustom'ı kullanarak grafiklere özel olaylar gönderebilirler. Hizmetler, <Terminal_Dizini>\MQL5\Services klasörü içerisinde saklanır.
- Kütüphane, birtakım özel fonksiyonlardır. Kütüphaneler yaygın olarak kullanılan özel program algoritmalarını depolamak ve dağıtmak için tasarlanmıştır.
Kütüphaneler, <Terminal_Dizini>\MQL5\Libraries klasörü içerisinde saklanır. - İçerik dosyası, sık kullanılan özel program bloklarının kaynak metnidir. Bu tür dosyalar derleme aşamasında Uzman Danışmanların, komut dosyalarının, özel göstergelerin ve kütüphanelerin kaynak metinlerine eklenebilir. Kütüphane fonksiyonları çağrılırken meydana gelen ek yük nedeniyle, içerik dosyalarının kullanımı kütüphanelerin kullanımından daha fazla tercih edilebilirdir.
İçerik dosyaları orijinal dosyaların bulunduğu aynı dizinde saklanabilir. Bu durumda, çift tırnak ile #include yönergesi kullanılır. Diğer bir seçenek, içerik dosyalarını <Terminal_Dizini>\MQL5\Include klasöründe saklamaktır. Bu durumda, açılı parantez ile #include yönergesi kullanılmalıdır.
© 2000-2023, MetaQuotes Ltd