Kısa cevap: İyi bir EA; entry/exit kodundan ibaret değildir. Veri sözleşmesi, risk katmanı, execution koşulları, observability ve validation yöntemi birlikte tasarlanmalıdır.

1. Strategy specification olmadan kod başlamamalı

“RSI düşükse al” bir fikir olabilir; production specification değildir. Hangi sembol, timeframe, fiyat kaynağı, session, spread, bar-state, duplicate-signal davranışı, open-position kuralı ve exception’ların ne olacağı açıkça tanımlanmalıdır.

Discretionary stratejide “grafik iyi görünüyorsa” gibi insan sezgileri varsa önce bunların kodlanabilir proxy’lere dönüştürülmesi gerekir.

2. Risk engine, stratejinin ayrı katmanıdır

Entry modeli çok iyi olsa bile risk ve execution katmanı zayıfsa sistem kırılgandır. Position sizing, maksimum exposure, günlük/haftalık drawdown, consecutive-loss davranışı, spread/slippage filtreleri ve emergency stop ayrı bir modül gibi düşünülmelidir.

3. MT5 dışı veriler sisteme bağlanabilir

Bir strateji dış veri kullanıyorsa MetaTrader terminali kapalı kutu olmak zorunda değildir. Python servisleri, REST/WebSocket API’ler, veritabanları veya özel bridge mimarileri kullanılabilir. Futures/COMEX sınıfı veri için ise veri sağlayıcısının lisans ve exchange entitlement koşulları önemlidir.

İhtiyaçOlası mimari
Düşük frekanslı external signalREST / scheduled pull
Daha hızlı streaming veriWebSocket / local bridge
Python model inferenceLocal/remote service + message/API layer
Audit / telemetryDB/log pipeline + dashboard

4. Backtest sonucu “kanıt” değildir

Backtest; stratejinin geçmiş veri üzerinde nasıl davrandığını gösterir. Overfitting, regime dependence, spread/commission varsayımları, data quality ve look-ahead bias gibi riskler incelenmeden tek başına güvenilirlik göstergesi değildir.

Minimum test mantığı

  • In-sample ve out-of-sample ayrımı.
  • Parametre stabilitesi.
  • Walk-forward veya zaman segmentasyonu.
  • Different market regimes.
  • Spread/slippage sensitivity.
  • Log ve error-path testleri.

5. Live readiness: observability

Production sistemin ne yaptığını sonradan anlayamıyorsanız onu yönetemezsiniz. Trade reason, rejected setup, error state, latency-sensitive event ve risk trigger loglanabilmelidir. Gerektiğinde alert, dashboard veya external monitoring katmanı eklenir.

System by Nova’nın quant yaklaşımı tam olarak burada web engineering ile birleşiyor: iyi sistem yalnızca çalışmaz; anlaşılır, izlenebilir ve geliştirilebilir olur.

Bu içerik yazılım mühendisliği hakkındadır; yatırım tavsiyesi veya performans garantisi değildir. MetaTrader®, MetaTrader 5®, MT5® ve MQL5® MetaQuotes Ltd ticari markalarıdır.