AI uzman danışman test ve optimizasyon rehberi | Deriv Blog
Doğru test teknikleriyle AI uzman danışmanınızı mükemmelleştirin. Rehberimiz, güvenilir işlem botları için yaygın sorunları, test yöntemlerini ve uzman danışman optimizasyonunu ele alıyor.
Deriv masası · 21 Nisan 2025 · 4 dk okuma

AI işlem uzman danışmanları artık burada — ancak yine de bunları test edip iyileştirmeniz gerekiyor.
Claude veya ChatGPT gibi AI araçlarını kullanarak Deriv MT5 için bir uzman danışman veya Deriv cTrader için bir cBot oluşturduysanız, harika bir başlangıç yapmışsınız demektir. Ancak kod doğru görünse bile, botun çalışma şeklini etkileyen hatalar içerebilir.
Uzman danışmanınızı (EA) canlı piyasada çalıştırmadan önce test etmek ve beklediğiniz gibi çalıştığından emin olmak önemlidir.
Bu rehberde, AI tarafından oluşturulan EA'lardaki yaygın kodlama hatalarını, bunları nasıl düzelteceğinizi ve botunuzun performansını artırmaya yönelik pratik ipuçlarını ele alacağız.
Yaygın AI MQL5 kodlama hataları
AI tarafından oluşturulan EA'larda en sık karşılaşılan sorunlardan bazıları ve bunları düzeltme yöntemleri şunlardır:
- MQL5'te tanımlanmamış tanımlayıcı hatası
Bu hata, botun düzgün tanımlanmamış bir değişken veya ad kullandığında ortaya çıkar; örneğin bir parametrenin eksik olması veya iMA() gibi göstergelerde yanlış bir ad kullanılması.
Düzeltme:
Göstergenin parametrelerini kontrol edin ve tüm değişken adlarının MetaEditor'da (MT5'in kodlama aracı) beklenenlerle eşleştiğinden emin olun.
- Eksik Alış/Satış işlem gerçekleştirme fonksiyonları
Bazı AI tarafından oluşturulan botlar, işlem açmak için gerekli temel mantığı atlar.
Düzeltme:
Temel işlem gerçekleştirme fonksiyonlarını manuel olarak ekleyin. İşte bir alış emri vermek için temel bir yapı örneği:
void OpenBuy() {
MqlTradeRequest request; MqlTradeResult result;
request.action = TRADE_ACTION_DEAL;
request.type = ORDER_TYPE_BUY;
request.price = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
request.volume = 0.1; request.magic = 12345;
OrderSend(request, result);
}
Satış emirleri için de mantık eklediğinizden ve işlemlerin hangi koşullarda açılması gerektiğini tanımladığınızdan emin olun.
- Deriv cTrader'da hatalı döngü koşulları
Deriv cTrader'da botun mantığının OnBar() veya OnTick() gibi belirli fonksiyonlar içinde çalışması gerekir. Bunlar, piyasa hareket ettiğinde otomatik olarak tetiklenir. Kodunuz bu bölümlerin dışına, örneğin yanlış bir döngüye veya global kapsama yerleştirilirse beklediğiniz gibi çalışmaz.
Düzeltme:
Barların ve tick'lerin OnBar() veya OnTick() içinde işlendiğinden emin olun. Bu, botunuzun hem geriye dönük testte hem de canlı işlemde yeni tick'lere veya barlara doğru şekilde yanıt vermesini sağlar.
- Bakiye yüzdesine göre lot büyüklüğünün yanlış hesaplanması
AI, lot büyüklüğünü hesap bakiyenize göre ayarlamaya çalıştığında (örneğin işlem başına %2 risk alarak), önemli bir detayı atlayabilir — kontrat büyüklüğü. Bu, hatalı lot büyüklüklerine yol açabilir. Bu bir kod hatası tetiklemez; ancak test sırasında risk ayarlarınızla uyuşmayan işlem büyüklükleri görürsünüz; bu da canlı işlemlerde aşırı veya yetersiz maruziyete neden olur.
Düzeltme:
Kontrat büyüklüğünü de hesaba katan bir lot büyüklüğü formülü kullanın, örneğin:
//-----------------------------------------------------------------
double accountBalance = AccountInfoDouble(ACCOUNT_BALANCE);
double riskMoney = accountBalance * (RiskPercent / 100.0);
double tickValue = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE);
double tickSize = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_SIZE);
double pointValue = tickValue / tickSize;
double contractSize = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_CONTRACT_SIZE);
if(contractSize > 0)
pointValue = pointValue / contractSize;
double lotSize = riskMoney / (StopLossPoints * pointValue);
double minLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MIN);
double maxLot = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_MAX);
double lotStep = SymbolInfoDouble(_Symbol, SYMBOL_VOLUME_STEP);
lotSize = MathMax(lotSize, minLot);
lotSize = MathMin(lotSize, maxLot);
lotSize = MathFloor(lotSize / lotStep) * lotStep;
- Diğer hatalar
Bu hatalardan biriyle — veya başka herhangi bir hatayla — karşılaşırsanız, sorunu tespit edip düzeltmek için her zaman AI modelinizden yardım isteyebilirsiniz.
Hata mesajını ve ilgili kodu kopyalayıp AI modeliyle paylaşmanız yeterlidir. Çoğu zaman sorununu belirleyip bir düzeltme sunabilir veya olası çözümler önerebilir.
İpucu: Canlıya geçmeden önce her zaman bir geriye dönük test çalıştırın. Bu tür sorunlar, stratejiyi gerçek piyasa verileriyle test edene kadar ortaya çıkmaz.
AI tarafından oluşturulan uzman danışmanınızı geliştirin
Botunuz çalışmaya başladıktan sonra performansını ve istikrarını artırmak için küçük değişiklikler yapabilirsiniz. Bunu yapmak için birkaç yaygın yöntem şunlardır:
- Yüksek volatilite veya bağlantı sorunları sırasında beklenmedik davranışları yönetmek için hata işleme mantığı ekleyin.
- Piyasa lehinize hareket ettiğinde olası kârları güvence altına almak için sürüklenen zarar durdur kullanın.
- Stratejinizin nasıl performans göstereceğini görmek için tarihsel verilerle stratejinizi geriye dönük test edin.
- Okunabilirliği ve verimliliği artırmak için kodunuzu temizleyip düzenleyin. Bu, daha sonra güncelleme veya sorun giderme işlemini kolaylaştırır.
İpucu: Botunuzun adım adım nasıl çalıştığını test etmek için (MT5'te) MetaEditor Debugger kullanın.
İşlemleri geriye dönük test etmek neden kritiktir
AI tarafından oluşturulan botlar, sıfırdan kod yazmaya gerek kalmadan işlemlerinizi otomatikleştirmenin harika bir yoludur. Ancak AI ile bile stratejinizin canlı koşullarda iyi çalışması için insan kontrolü ve ayarlamalarına ihtiyacı vardır.
Canlıya geçmeden önce kapsamlı bir şekilde test etmeye ve küçük iyileştirmeler yapmaya zaman ayırın. Küçük düzeltmeler bile EA'nızın ne kadar tutarlı ve etkili performans gösterdiğinde büyük fark yaratabilir.