Deriv MT5 ve cTrader için AI uzman danışmanlarını nasıl test eder, sorun giderir ve optimize edersiniz?

Yapay zeka ticaret expert advisor’ları burada — fakat onları test edip iyileştirmeniz hala gerekiyor.
Eğer daha önce Claude veya ChatGPT gibi yapay zeka araçlarını Deriv MT5 için bir expert advisor veya Deriv cTrader için bir cBot oluşturmak amacıyla kullandıysanız, iyi bir başlangıç yapmışsınız demektir. Ancak kod doğru görünse bile, botun çalışma şeklini etkileyen hatalar içerebilir.
Expert advisor’ın (EA) piyasada canlı olarak çalıştırılmadan önce test edilmesi ve beklendiği gibi çalıştığından emin olunması önemlidir.
Bu rehberde, yapay zeka tarafından oluşturulan EAlardaki yaygın kodlama hatalarını, bunların nasıl düzeltileceğini ve botunuzun performansını artırmak için pratik ipuçlarını ele alacağız.
Yaygın AI MQL5 kodlama hataları
AI tarafından oluşturulan EAlarda en sık karşılaşılan sorunlar ve bunların düzeltilme yöntemleri şunlardır:
- MQL5’te beyan edilmemiş tanımlayıcı hatası
Bu hata, botun doğru tanımlanmamış bir değişken veya isim kullanması durumunda ortaya çıkar; örneğin, bir parametrenin eksik olması veya iMA() gibi göstergelerde yanlış bir isim kullanımı gibi.
Düzeltme:
Göstergenin parametrelerini kontrol edin ve tüm değişken isimlerinin MetaEditor’da (MT5’in kodlama aracı) beklenilenle uyumlu olduğundan emin olun.
- Eksik Al/Sat işlem yürütme fonksiyonları
Bazı AI tarafından oluşturulan botlar, işlemleri açmak için gerekli temel mantığı atlar.
Düzeltme:
Temel işlem yürütme fonksiyonlarını manuel olarak ekleyin. İşte bir alış emri vermek için temel yapıya örnek:
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);
}
Ayrıca, satış emirleri için de mantık eklemeyi ve işlemlerin hangi koşullarda yapılması gerektiğini belirlemeyi unutmayın.
- Deriv cTrader’da yanlış döngü koşulları
Deriv cTrader’da botun mantığı, OnBar() veya OnTick() gibi belirli fonksiyonların içinde çalıştırılmalıdır. Bunlar piyasa hareket ettiğinde otomatik olarak tetiklenir. Kodunuz yanlış döngüde veya global kapsamda yer alıyorsa, beklendiği gibi işlemez.
Düzeltme:
Barlar ve tickler OnBar() veya OnTick() fonksiyonları içinde işlenmelidir. Bu, botunuzun backtest ve canlı ticarette yeni tick veya bar hareketlerine doğru tepki verebilmesini sağlar.
- Bakiye yüzdesine bağlı lot büyüklüğünün yanlış hesaplanması
AI, işlem başına %2 gibi bir riskle bakiye bazında lot büyüklüğü ayarlamaya çalıştığında, önemli bir detayı — kontrat büyüklüğünü — atlayabilir. Bu, yanlış lot büyüklüklerine yol açabilir. Kod hatası oluşturmaz, ancak testte risk ayarlarınıza uymayan işlem büyüklükleri nedeniyle canlı işlemlerde aşırı risk veya yetersiz risk ortaya çıkar.
Düzeltme:
Kontrat büyüklüğünü de dikkate alan 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 bir sorunla karşılaşırsanız, yapay zeka modelinizden problemi tanımlaması ve düzeltmesi için yardım alabilirsiniz.
Hata mesajını ve ilgili kodu kopyalayıp AI modeline iletin. Çoğu durumda sorunu tespit edip bir düzeltme veya olası çözümler önerir.
İpucu: Canlıya geçmeden önce mutlaka backtest yapın. Bu tür problemler ancak stratejiyi gerçek piyasa verileri ile test ettiğinizde ortaya çıkar.
AI tarafından oluşturulan expert advisor’ınızı geliştirin
Botunuz çalıştıktan sonra, performansını ve istikrarını artırmak için küçük değişiklikler yapabilirsiniz. İşte bazı yaygın yöntemler:
- Yüksek volatilite veya bağlantı sorunları sırasında beklenmedik davranışları yönetmek için hata-kontrol mantığı ekleyin.
- Piyasa lehinize hareket ettiğinde potansiyel karları güvence altına almak için trailing stop-loss kullanın.
- Stratejinizi geçmiş verilerle backtest ederek performansını kontrol edin.
- Kodunuzu temizleyip düzenleyerek okunabilirlik ve verimliliği artırın. Bu da ileride güncelleme veya hata ayıklamayı kolaylaştırır.
İpucu: Botunuzun adım adım nasıl çalıştığını test etmek için MetaEditor Debugger’ı (MT5 üzerinde) kullanın.
Trade’lerin backtest edilmesi neden kritik?
Yapay zeka tarafından oluşturulan botlar, sıfırdan kodlama gerektirmeden ticaretinizi otomatikleştirmenin harika bir yolu. Ancak AI olsa da, stratejinizin canlı koşullarda iyi çalışması için insan kontrolleri ve ayarlamaları gereklidir.
Canlıya geçmeden önce iyi bir test yaparak ve küçük iyileştirmeler yaparak zaman harcayın. Küçük düzeltmeler bile expert advisor’ın performansını tutarlı ve etkili hale getirmede büyük fark yaratabilir.
Feragat:
Bu içerik AB sakinleri için değildir. Bu blog makalesinde yer alan bilgiler yalnızca eğitim amaçlıdır ve finansal veya yatırım tavsiyesi amacı taşımamaktadır. Bilgiler güncelliğini yitirebilir. Bu bilgilerin doğruluğu veya tamlığı hakkında herhangi bir beyan veya garanti verilmemektedir. Herhangi bir ticaret kararı almadan önce kendi araştırmanızı yapmanızı öneririz.