
MQL5 ile Otomatik Strateji Geliştirme: Adım Adım Başlangıç Rehberi
MetaTrader 5, dünya çapında milyonlarca trader tarafından kullanılan platformdur. MQL5 ile kendi otomatik trade robotunuzu (Expert Advisor) yazarak 7/24 kesintisiz işlem yapabilirsiniz. Bu rehberde sıfırdan EA geliştirmeyi öğrenin.
⚡ AI & Hızlı Okuma Özeti
MetaTrader 5, dünya çapında milyonlarca trader tarafından kullanılan platformdur. MQL5 ile kendi otomatik trade robotunuzu (Expert Advisor) yazarak 7/24 kesintisiz işlem yapabilirsiniz. Bu rehberde sıfırdan EA geliştirmeyi öğrenin. Bu içerik ORCA Software uzmanları tarafından derlenmiştir.
MetaTrader 5 (MT5), Forex, hisse senedi ve kripto piyasalarında kullanılan en popüler trading platformlarından biridir. MQL5 (MetaQuotes Language 5), bu platform için geliştirilmiş güçlü bir programlama dilidir ve C++ syntax'ına benzer. Bir Expert Advisor (EA), MQL5 ile yazılmış otomatik trade robotudur — belirlediğiniz kurallara göre otomatik pozisyon açar, stop-loss koyar ve kar realizasyonu yapar. 2026 yılında yapay zeka destekli EA'ler popüler olsa da, temel MQL5 bilgisi her trader için kritik bir beceridir. Bu rehberde, basit bir trend takip EA'sinden başlayarak adım adım otomatik strateji geliştirmeyi öğreneceksiniz.
MQL5 Nedir ve Neden MetaTrader 5 Kullanılmalı?
MQL5, MetaQuotes tarafından geliştirilmiş nesne tabanlı bir programlama dilidir. C++ benzeri syntax'ı sayesinde karmaşık stratejileri kodlamak mümkündür. MetaTrader 4 (MT4) hala popüler olsa da, MT5 daha hızlı, daha fazla gösterge desteği ve gelişmiş backtest motoru sunar.
- •Çoklu Zaman Dilimi (Multi-Timeframe) Desteği: Bir EA içinde 1 dakika, 15 dakika, 1 saat verilerini aynı anda kullanabilirsiniz.
- •Gelişmiş Backtest Motoru: Gerçek tick verisi ile test yapabilir, slippage (kayma) simülasyonu ekleyebilirsiniz.
- •Market (Pazar Yeri): Geliştirdiğiniz EA'yi MQL5 Market'te satabilir veya başkalarının EA'lerini kiralayabilirsiniz.
- •Telegram & Email Bildirimleri: EA'niz trade açtığında otomatik bildirim gönderebilir.
- •Hedge ve Netting Modu: Hem aynı anda hem long hem short pozisyon açabilir, hem de sadtek yön pozisyonu kullanabilirsiniz.
İlk EA'nizi Yazın: Basit EMA Kesişim Stratejisi
En temel strateji, iki farklı periyotlu hareketli ortalama (Moving Average) kesişimidir. Kısa periyotlu EMA (örn. 50), uzun periyotluyu (örn. 200) yukarı kestiğinde al, aşağı kestiğinde sat sinyali verir. İşte MQL5 kodu:
Kod Örneği: EMA Crossover EA (Basitleştirilmiş)
```cpp //+------------------------------------------------------------------+ //| Expert Advisor: EMA Crossover Robot | //+------------------------------------------------------------------+ #property strict input int FastEMA = 50; // Hızlı EMA periyodu input int SlowEMA = 200; // Yavaş EMA periyodu input double LotSize = 0.1; // İşlem büyüklüğü double fastEma[], slowEma[]; //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { ArraySetAsSeries(fastEma, true); ArraySetAsSeries(slowEma, true); return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { // EMA değerlerini hesapla CopyBuffer(iMA(_Symbol, PERIOD_CURRENT, FastEMA, 0, MODE_EMA, PRICE_CLOSE), 0, 0, 3, fastEma); CopyBuffer(iMA(_Symbol, PERIOD_CURRENT, SlowEMA, 0, MODE_EMA, PRICE_CLOSE), 0, 0, 3, slowEma); // Kesişim kontrolü if(fastEma[1] > slowEma[1] && fastEma[2] <= slowEma[2]) { // Yukarı kesişim → AL sinyali if(PositionsTotal() == 0) { // Açık pozisyon yoksa OpenBuyOrder(); } } if(fastEma[1] < slowEma[1] && fastEma[2] >= slowEma[2]) { // Aşağı kesişim → SAT sinyali if(PositionsTotal() > 0) { CloseAllPositions(); } OpenSellOrder(); } } //+------------------------------------------------------------------+ //| Alış emri aç | //+------------------------------------------------------------------+ void OpenBuyOrder() { MqlTradeRequest request; MqlTradeResult result; request.action = TRADE_ACTION_DEAL; request.symbol = _Symbol; request.volume = LotSize; request.type = ORDER_TYPE_BUY; request.price = SymbolInfoDouble(_Symbol, SYMBOL_ASK); request.sl = 0; // Stop-loss (0 = yok) request.tp = 0; // Take-profit (0 = yok) OrderSend(request, result); } ```
Kodun Açıklaması
• OnInit(): EA başlatıldığında çalışır, değişkenleri hazırlar. • OnTick(): Her yeni fiyat hareketi (tick) geldiğinde çalışır. • CopyBuffer(): İndikatör verilerini (EMA) diziye kopyalar. • Kesişim Kontrolü: fastEma[1] > slowEma[1] (şu anki mum) ve fastEma[2] <= slowEma[2] (bir önceki mum) ise kesişim oluşmuştur. • OrderSend(): Emir gönderir, result değişkeninde sonuç döner.
Stop-Loss ve Take-Profit Ekleme
Yukarıdaki EA'de risk yönetimi yok — bu gerçek trade için tehlikelidir. Her pozisyona otomatik stop-loss (SL) ve take-profit (TP) eklemeliyiz. Genelde SL %2, TP %4 (1:2 risk/ödül oranı) olarak ayarlanır.
- •ATR (Average True Range) Bazlı SL: Volatiliteye göre dinamik stop-loss. Düşük volatilitede dar, yüksekte geniş tutulur.
- •Sabit Pip Bazlı: Forex'te 20-50 pip SL, kripto'da %2-3 fiyat düşüşü.
- •Trailing Stop: Pozisyon karlı hale geldiğinde SL'yi yukarı çeker, karı korur.
- •ORCA Optimizasyonu: Backtest sonuçlarına göre optimal SL/TP oranını bulur, %30 daha iyi performans sağlar.
Backtest: EA'nizi Geçmiş Verilerle Test Edin
Gerçek parayla test etmeden önce, EA'nizin geçmiş 3 yıllık veride nasıl performans gösterdiğini görmelisiniz. MetaTrader 5'in Strategy Tester'ı bu işi yapar.
Backtest Adımları
1. MetaTrader 5'te View → Strategy Tester'ı açın. 2. EA'nizi seçin, sembol (EURUSD, BTCUSD vb.) ve zaman dilimini belirleyin. 3. Tarih aralığını en az 3 yıl seçin (2023-2026). 4. Model: 'Every Tick Based on Real Ticks' (en gerçekçi mod). 5. Start butonuna basın, test tamamlandığında sonuçlara bakın.
Backtest Sonuçlarını Nasıl Okursunuz?
• Total Net Profit: Toplam kar (pozitif olmalı). • Profit Factor: Kazanç / Zarar oranı (>1.5 olmalı). • Sharpe Ratio: Risk-ayarlı getiri (>1 olmalı). • Max Drawdown: En büyük zarar dönemi (<%20 olmalı). • Win Rate: Kazanan trade oranı (%55+ iyi). Eğer bu değerler kötüyse, SL/TP oranlarını, EMA periyotlarını değiştirip tekrar test edin.
Optimizasyon: En İyi Parametreleri Bulun
Backtest'te manuel olarak FastEMA=50, SlowEMA=200 kullandık. Peki 30-100 mı daha iyi, yoksa 100-300 mü? Strategy Tester'ın Optimization özelliği, tüm kombinasyonları otomatik test eder ve en karlısını bulur.
- •Genetik Algoritma: MetaTrader 5, en iyi parametre setini bulmak için genetik algoritma kullanır (milyonlarca kombinasyonu birkaç saatte test eder).
- •Overfit Riski: Geçmiş verilere çok uygun (overfit) parametre seçerseniz, gelecekte başarısız olur. Bu yüzden out-of-sample test yapın (örn. 2023-2025 optimizasyon, 2026 test).
- •ORCA Çözümü: Walk-Forward Analysis kullanarak optimizasyon yapar, her 6 ayda bir parametreleri günceller.
Canlı Trade: Demo'dan Gerçeğe Geçiş
Backtest başarılı olsa da, demo hesapta en az 1 ay test edin. Demo, gerçek piyasa koşullarını simüle eder ama parasal risk yoktur.
Demo Hesap Testi
1. MetaTrader 5'te File → Open Demo Account. 2. Broker seçin (IC Markets, Pepperstone, Forex.com vb.). 3. EA'nizi demo hesaba yükleyin, Auto Trading'i aktif edin. 4. 1 ay boyunca günlük performansı izleyin. 5. Demo'da karlıysa, küçük sermaye ile (500-1000$) canlıya geçin.
Canlı Geçişte Dikkat Edilmesi Gerekenler
• Slippage (Kayma): Backtest'te 0 pip slippage varsayılır, canlıda 1-3 pip olabilir. Bunu hesaba katın. • Spread Farkı: Demo'da spread düşük olabilir, canlıda yüksek olabilir. • Sunucu Gecikmesi: VPS (Virtual Private Server) kullanın, emir iletimi milisaniyeler içinde olsun. • Psikoloji: Gerçek paranızın riske girdiğini bilmek stres yaratır, EA'nize güvenin.
İleri Seviye: Webhook ile TradingView Sinyallerini MQL5'e Aktarma
TradingView'de Pine Script ile güçlü bir indikatör yazdınız, ama otomatik trade MetaTrader 5'te yapmak istiyorsunuz. Webhook kullanarak TradingView sinyallerini MQL5 EA'nize iletebilirsiniz.
- •TradingView Alert → Webhook URL'si → Python sunucu → MetaTrader 5 API → Otomatik trade.
- •ORCA Software bu süreci tamamen otomatize ediyor: TradingView'deki sinyal, 0.5 saniye içinde MetaTrader'da pozisyon açar.
- •Alternatif: PineConnector, TradingView2MT gibi hazır servisler (aylık 30-50$ ücretli).
Sonuç
MQL5 ile Expert Advisor geliştirmek, başlangıçta karmaşık görünse de temel programlama bilgisi ile 2-4 hafta içinde öğrenilebilir. Ancak karlı bir EA yazmak, sadece kod bilgisi değil, backtest, optimizasyon ve risk yönetimi uzmanlığı gerektirir. ORCA Software olarak, fikrinizi alıp MQL5 EA'sine dönüştürüyor, backtest/optimizasyon yapıyor ve canlıya geçiş sürecinde destek sağlıyoruz. TradingView Pine Script, Python veya tamamen özel algoritmalarla entegre çalışan EA'ler üretiyoruz.
Kendi trade stratejinizi MQL5 Expert Advisor'a dönüştürmek için ORCA ekibiyle görüşün. İlk danışmanlık ücretsiz, backtest raporu hediye!
İletişime GeçSık Sorulan Sorular
MQL5 öğrenmek ne kadar sürer?
Temel C++ veya Python bilgisi varsa 2-3 haftada basit EA yazabilirsiniz. Sıfırdan başlıyorsanız 1-2 ay yoğun çalışma gerekir.
MQL4 ile MQL5 arasındaki fark nedir?
MQL5 daha hızlı, daha fazla indikatör desteği var ve çoklu zaman dilimi kullanımı kolay. MQL4 eski ve basit, MQL5 profesyonel seviyedir.
EA'mı MQL5 Market'te satabilir miyim?
Evet, ancak MetaQuotes inceleme süreci vardır. Kodunuz güvenlik standartlarına uygun olmalı, performans raporları sunmalısınız.
VPS kullanmak zorunlu mu?
Hayır, ama önerilir. Bilgisayarınız kapandığında EA durur, VPS ile 7/24 çalışır. Aylık maliyet 10-30$'dır.
İlgili Yazılar
Borsa Trade Bot Nasıl Çalışır? Otomatik İşlem Rehberi 2026
Borsa trade botları, belirlediğiniz stratejiye göre otomatik alım-satım yapan yazılımlardır. Nasıl çalıştıklarını ve dikkat edilmesi gerekenleri öğrenin.
Devamını Oku →TradingView'de En İyi 5 Pine Script İndikatörü: 2026 Güncel Rehber
TradingView'in Pine Script dili, trader'ların kendi stratejilerini otomatikleştirmesine olanak tanır. Bu rehberde 2026'nın en güçlü indikatörlerini ve nasıl geliştirileceğini detaylı kod örnekleriyle öğrenin.
Devamını Oku →RSI Diverjansı Nedir? Kripto Ticaretinde Nasıl Kullanılır?
RSI diverjansları, fiyat ile momentum arasındaki uyumsuzluğu tespit ederek büyük hareketleri önceden yakalatan en güçlü tersine dönüş sinyalidir. Bu rehberde diverjans türlerini, nasıl tespit edileceğini ve trade stratejilerini öğrenin.
Devamını Oku →