Tüm rehberler
Temel Kavramlar19 Nisan 20266 dk okuma

Expert Advisor (EA) Nedir? Forex Robotları Nasıl Çalışır?

Expert Advisor (EA) nedir, MetaTrader terminalinde nasıl çalışır, MQL4 ve MQL5 ile nasıl yazılır? Forex robotlarının iç yapısı, avantajları ve seçim kriterleri.

Expert Advisor (kısaca EA), MetaTrader 4 veya MetaTrader 5 terminali içinde çalışan ve trader'ın önceden tanımladığı kurallara göre otomatik emir açıp kapatabilen bir yazılımdır. Forex dünyasında "EA", "forex robotu", "trading bot" ve "otomatik alım satım programı" terimleri büyük ölçüde aynı şeyi ifade eder.

Bu yazıda bir EA'nın kaputun altında nasıl çalıştığını, MQL4/MQL5 dillerinin rolünü, bir EA'dan beklemeniz gereken özellikleri ve piyasada satılan binlerce EA arasından kaliteli olanı nasıl ayırt edebileceğinizi açıklayacağız.

EA'nın Anatomisi: 3 Temel Callback

Her EA, MetaTrader terminalinin çağırdığı üç ana event callback üzerine inşa edilir:

1. OnInit()

EA bir grafiğe eklendiğinde bir kez çalışır. Değişkenler, ayarlar, bağlantılar burada hazırlanır.

2. OnTick()

Her yeni piyasa fiyatı (tick) geldiğinde çalışır. Strateji mantığının %95'i burada yer alır; sinyal kontrol, emir açma/kapama kararları bu fonksiyon içinde verilir.

3. OnDeinit()

EA grafikten kaldırıldığında veya terminal kapandığında çalışır. Temizlik, kayıt ve bağlantı kesme işlemleri buraya yazılır.

MT5'te buna ek olarak OnTradeTransaction callback'i bulunur; asenkron emirlerin sonucu bu fonksiyonda yakalanır. Bu, MT5'i MT4'e göre scalping botları için üstün kılan kritik bir özelliktir.

Basit Bir EA Örneği (MQL5)

#include <Trade\Trade.mqh>
CTrade trade;

int OnInit() {
  Print("EA baslatildi: ", _Symbol);
  return(INIT_SUCCEEDED);
}

void OnTick() {
  if (PositionsTotal() > 0) return;

  double ma_fast = iMA(_Symbol, PERIOD_M5, 9, 0, MODE_EMA, PRICE_CLOSE);
  double ma_slow = iMA(_Symbol, PERIOD_M5, 21, 0, MODE_EMA, PRICE_CLOSE);

  if (ma_fast > ma_slow) {
    trade.Buy(0.01, _Symbol, 0, 0, 0, "Demo EA");
  } else if (ma_fast < ma_slow) {
    trade.Sell(0.01, _Symbol, 0, 0, 0, "Demo EA");
  }
}

Yukarıdaki örnek; 5 dakikalık grafiğinde hızlı EMA yavaş EMA'yı yukarı kestiğinde alış, aşağı kestiğinde satış yapar. Gerçek bir EA'da risk yönetimi, SL/TP, sepet mantığı, haber filtresi gibi onlarca ek blok yer alır; fakat iskelet bu kadar basittir.

MQL4 ve MQL5 Arasındaki Fark

MQL4, klasik prosedürel programlama dilidir; C benzeri sentaks, sınırlı OOP desteği, Order* fonksiyon ailesi ile emir yönetimi yapılır. MQL5 ise modern bir dildir: nesneye yönelik programlama, soyut sınıflar, template'ler, dinamik diziler, CTrade ve CPositionInfo gibi standart kütüphane sınıfları.

Aynı EA'yı hem MQL4 hem MQL5 için yazmak mümkündür fakat her iki versiyonun kod tabanı birbirinden büyük ölçüde farklıdır. Modern botlar (ör. MTBot) aynı stratejiyi iki ayrı EA dosyası ile sağlar; strateji mantığı masaüstü uygulamasında olduğu için EA'lar sadece emir yürüten "ince istemciler" şeklindedir.

Saf EA vs Hibrit Bot

Saf EA (Kapalı Devre)

  • Tüm mantık MQL kodunda
  • Kurulum basit: bir .ex4 / .ex5 dosyası yeterli
  • UI zayıf, uzaktan yönetim yok
  • Loglar sadece terminal içinde

Hibrit Bot (Açık Mimari)

  • Ağır mantık masaüstü uygulamasında (Electron, Python, .NET)
  • EA ince bir TCP istemci; sadece emir yürütür
  • Web dashboard, çoklu hesap yönetimi, uzaktan log
  • Abonelik/lisans doğrulama merkezi
  • Güvenlik: strateji kaynağı istemci makinede değil

Profesyonel forex servislerinde hibrit mimari daha sık görülür; saf EA'lar ise basit stratejiler, kişisel denemeler veya komünite projeleri için pratik kalır. Hangi modelin daha uygun olduğu; stratejinin karmaşıklığına, kullanıcının log ihtiyacına, lisans yapısına ve güncelleme beklentisine göre değişir.

MetaTrader Bot, EA ve MTBot Arasındaki Fark

Google'da "metatrader bot", "forex robot", "Expert Advisor" veya "EA" arayan kullanıcılar çoğu zaman aynı şeye bakıyor gibi görünür. Fakat ürün mimarisi açısından üç ayrı seviye vardır:

Kavram Ne ifade eder? Kimler için uygun?
Expert Advisor MetaTrader içinde çalışan MQL tabanlı otomasyon dosyası Kendi stratejisini terminal içinde çalıştırmak isteyen kullanıcı
Forex robotu Genellikle EA veya bot için kullanılan genel pazar terimi Hazır otomatik işlem sistemi arayan kullanıcı
Hibrit MetaTrader bot Masaüstü uygulaması, web paneli, lisans ve EA bağlantısını birlikte kullanan yapı Log, kullanıcı ayarı, sürüm takibi ve daha kontrollü kullanım isteyen kullanıcı

MTBot, kendini klasik "tek dosya EA" gibi konumlandırmaz. Ürün anlatımında önemli olan nokta; kullanıcının risk parametrelerini kendisinin belirlemesi, botun ne yaptığını loglardan okuyabilmesi ve bağlantı/güncelleme sürecinin tek panelden takip edilebilmesidir. Daha genel bir giriş için MetaTrader Bot Nedir? rehberine, MT5 tarafı için MT5 Bot Nasıl Çalışır? yazısına bakabilirsiniz.

EA Seçerken Dikkat Edilecek 8 Kriter

  1. Canlı hesap geçmişi: MyFxBook veya FXBlue gibi üçüncü parti denetime bağlı mı? Sadece backtest sonucu yeterli değildir.
  2. Drawdown: Maksimum kayıp yüzdesi. %25 üstü riskli.
  3. Kazanç / Kayıp oranı (RR): 1:1 ve üstü sağlıklı; çok yüksek win rate (>%95) genellikle martingale habercisidir.
  4. Backtest süresi: En az 3–5 yıllık veri; 2020 (COVID), 2022 (enflasyon) gibi yüksek volatilite dönemlerini kapsamalı.
  5. Stratejinin açıklaması: EA satıcısı ne yaptığını anlatabiliyor mu yoksa "gizli algoritma" mı diyor? İkincisiyse uzak durun.
  6. Broker / sembol bağımsızlığı: Sadece tek bir brokerde veya tek bir sembolde çalışan EA'lar overfitted olma ihtimali yüksektir.
  7. Güncel destek: Geliştirici yazışmaya cevap veriyor mu, güncelleme sıklığı nasıl?
  8. Kaynak kodu açık mı: Açık kaynak daha güvenli; en azından ne yaptığını inceleyebilirsiniz.

Güvenli Başlangıç İçin Kontrol Listesi

Bir EA veya MetaTrader bot kullanmadan önce aşağıdaki kontroller yapılmadan canlı hesaba geçmek doğru değildir:

  1. Demo hesapta aynı broker koşulunu test edin: Spread, komisyon ve execution farkı stratejinin sonucunu ciddi etkiler.
  2. Lot ayarını küçük başlatın: İlk hedef "çok kazanmak" değil, botun davranışını anlamaktır.
  3. Haber saatlerini kontrol edin: NFP, FOMC, faiz kararı ve yüksek etkili veri anlarında spread genişleyebilir.
  4. Maksimum açık emir sınırı koyun: Sepet stratejisinde açık emir sayısı kontrolsüz büyümemelidir.
  5. Logları okuyun: Bot neden işlem açtı, neden bekledi, neden kapattı sorularının cevabı loglarda görünmelidir.
  6. Broker kurallarını inceleyin: Bazı kurumlar çok kısa süreli işlem kapatma, yoğun emir veya scalping için ayrı kurallar koyabilir.

MTBot gibi ürünlerde bu kontrol listesinin büyük kısmı kullanıcı ayarları ve log görünürlüğüyle ilişkilidir. Yine de hiçbir bot, kötü risk ayarını veya uygun olmayan broker koşulunu tek başına telafi edemez.

MT4 EA ve MT5 EA Seçiminde Pratik Farklar

MT4 EA kullanımı hâlâ yaygındır çünkü birçok broker ve eski strateji MT4 çevresinde oluşmuştur. MT5 EA tarafı ise daha modern emir olayları, daha gelişmiş test altyapısı ve daha esnek piyasa kapsamı sunar. Seçimi yaparken yalnızca "hangisi daha yeni" sorusuna bakmak eksik kalır.

  • MT4 tarafında yaygın broker desteği ve eski EA ekosistemi avantajdır.
  • MT5 tarafında emir olaylarını izleme, çoklu varlık desteği ve strateji test imkanı daha güçlüdür.
  • Scalping gibi hızlı akışlarda terminal, VPS, broker ve bot mimarisi birlikte değerlendirilmelidir.
  • Sepet yönetimi kullanan sistemlerde toplam risk, tek emir riskinden daha önemlidir.

Bu farkları daha detaylı görmek için MT4 Bot ile MT5 Bot Arasındaki Farklar rehberini okuyabilirsiniz.

Sık Karşılaşılan EA Efsaneleri

"Ben EA aldım, 3 ay sonra hesabım iflas etti."

Neredeyse her durumda üç sebepten biri vardır:

  • EA martingale / grid tabanlı ve ilk büyük volatilite dalgası sepeti taşıyamadı.
  • Risk parametreleri agresif (ör. %5 hesap riski), birkaç ardışık zarar yeterdi.
  • Broker scalping'e izin vermiyor, sessizce emirler reddedilmişti.

"EA backtest'te %500 kâr yapıyordu, canlıda hiçbir şey yok."

Backtest over-fitting sorunu: EA geçmiş veriye aşırı optimize edilmiş, gerçek gelecekte aynı örüntü yok. Bir EA'yı test etmenin tek doğru yolu out-of-sample + canlı demo kombinasyonudur.

Yasal ve Etik Çerçeve

EA kullanımı çoğu ülkede yasaldır; fakat yatırım danışmanlığı regülasyonları bazı yetki alanlarında EA sağlayıcısını lisans almak zorunda bırakır. Kullanıcı olarak EA'dan kaynaklanan kayıplardan siz sorumlusunuz; geliştiricinin taahhüt ettiği getiri yoktur. "Aylık %30 kesin kâr" reklamları dolandırıcılık göstergesidir.

Sonuç

Expert Advisor; doğru tasarlandığında piyasayı disiplinli şekilde takip etmeye yardımcı olan güçlü bir araçtır. Ancak bir EA'nın kalitesi, kullanılan stratejinin mantığına, risk yönetimi kontrollerine, broker uyumuna ve canlı/demoya yakın test sonuçlarına göre değerlendirilir. Broşürdeki "kesin kazanç" iddiaları değil; şeffaf risk anlatımı, anlaşılır ayarlar ve düzenli takip daha değerlidir.

MTBot, MetaTrader bot kullanımını daha izlenebilir hale getirmeye odaklanan bir yazılımdır. MT5 bot, MT4 bot ve genel MetaTrader bot sayfalarında ürünün bağlantı, log, kullanıcı ayarı ve risk bilgilendirme yaklaşımını inceleyebilirsiniz. Kâr garantisi yoktur; işlem riski ve bot ayarları kullanıcı sorumluluğundadır.

Risk bilgilendirmesi

Forex, CFD, kripto ve kaldıraçlı işlemler yüksek risk içerir. MTBot yatırım tavsiyesi vermez, kâr garantisi sunmaz ve kullanıcı adına risk kararı almaz. Lot, hedef, maksimum zarar, sepet miktarı ve çalışma saatleri gibi ayarlar kullanıcının sorumluluğundadır.

MTBot'u inceleyin

MetaTrader bot kullanımını test etmek için hesap açabilir, paketleri görebilir ve kurulum adımlarını kullanıcı panelinden takip edebilirsiniz.