Uzman Danışmanda günlük zarar limiti: prop firmaların doğru yapılmasını istediği dört karar

10 Ekim 2026, 10:26
Bohdan Klok
0
1

Günlük zarar limiti tek satır kod gibi görünür: "bugünkü zarar %X'i geçerse dur". Pratikte dört karardır ve her biri limitin ne zaman devreye gireceğini değiştirir. Prop firmalar bunları kaçınılmaz hale getirdi: günlük limiti bir kez aşarsanız, stratejinin ayın geri kalanında ne yaptığından bağımsız olarak hesap gider. Limit genellikle nasıl hesaplanır, basit bir uygulama nerede yanılır ve Uzman Danışmanımda kullandığım kod aşağıda.

1. "Bugün" nedir?

Bilgisayarınızın değil, işlem sunucusunun günü: TimeCurrent(), MetaTrader'ın her yerde gösterdiği saattir. Prop firmalar limiti kendi sunucularının ya da sabit bir saat diliminin gece yarısında sıfırlar - sizinkinin hangisini kullandığını kontrol edin; sunucunun gece yarısı değilse sıfırlama saatinin kaydırılması gerekir. Sunucu gününün başlangıcı basitçe şudur:

datetime now = TimeCurrent();
datetime day = now - now % 86400;       // 00:00 server time

2. Neye göre zarar?

Günün başındaki bakiyeye göre. Birçok prop firma o andaki bakiyeyi veya özsermayeyi, hangisi yüksekse onu alır; bu yüzden daha katı seçim güvenli olandır: geceye 300'lük değişken kârla girerseniz, bu kâr tabanın parçasıdır ve onu geri vermek zarar sayılır.

double base = MathMax(AccountInfoDouble(ACCOUNT_BALANCE), AccountInfoDouble(ACCOUNT_EQUITY));

3. Zarar nasıl ölçülür?

Kapanmış işlemlerle değil, özsermaye ile. Yalnızca kapanmış işlemlere bakan bir limit, açık bir pozisyonun onu çok aşmasına izin verir: prop firmanın izleyicisi değişken zararı görür, sizin kodunuz görmez. Bu yüzden kontrol her tikte yapılır:

if(AccountInfoDouble(ACCOUNT_EQUITY) <= base * (1.0 - limitPercent / 100.0))
   stopped = true;      // close the positions, open nothing until the next day

ve tüm hesap üzerinde. Uzman Danışman başına bir limit kendi risk kontrolünüz için uygundur, ama prop firma tüm pozisyonları birlikte sayar. Programın birkaç kopyası birkaç grafikte çalışıyorsa, her biri aynı hesap özsermayesini görür ve her biri kendi pozisyonlarını kapatır.

4. Yeniden başlatmadan ne sağ çıkar?

Basit bir uygulamanın her zaman yanıldığı nokta budur. Taban bir değişkende tutulur; terminal saat 14:00'te yeniden başlar (bir güncelleme, VPS yeniden başlatması, parametre değişikliği); program yeniden başlar, sabahki zararlardan sonraki mevcut bakiyeyi "günün başı" olarak alır ve bir tam limit daha tanır. Günün durumu programın dışında saklanmalıdır. Terminalin global değişkenleri tam bunun içindir:

string key = StringFormat("DL_%I64d_%I64u_%s_", AccountInfoInteger(ACCOUNT_LOGIN), magic, _Symbol);
if(GlobalVariableCheck(key + "day") && (datetime)GlobalVariableGet(key + "day") == day)
  {
   base    = GlobalVariableGet(key + "base");       // the real start of the day
   stopped = GlobalVariableGet(key + "stop") != 0.0;
  }
else
  {
   GlobalVariableSet(key + "day", (double)day);      // a new day: remember it
   GlobalVariableSet(key + "base", base);
   GlobalVariableSet(key + "stop", 0.0);
  }

Terminal global değişkenleri son erişimden sonra dört hafta saklar ve diske yazar; böylece yeniden başlatma, yeniden derleme ve parametre değişikliğinden sağ çıkarlar.

Önemli küçük ayrıntılar

  • Kapat ve dur: limit devreye girdiğinde bu programın pozisyonlarını kapatın ve ertesi güne kadar her yeni sinyali reddedin. Bunu yalnızca günlükte değil, kullanıcının baktığı yerde bildirin (grafik panelinde bir satır, bir uyarı, bir push bildirimi).
  • Kapatma başarısız olabilir: piyasa kapalıdır, fiyat oynamıştır, sunucu meşguldür. Yeniden deneyin, ama her tikte değil: işlem seansı açıkken saniyede bir kez yeterlidir.
  • Strateji Test Cihazında global değişkenler test ajanına aittir ve bir test ortasında yeniden başlamaz: orada bellekteki durum yeterlidir.
  • Yüzdeyi prop firmanın limitinin altında seçin. İşlem başına %1 riskle %3'lük günlük limit üç stop olmuş işlem demektir; firmanınki %5 ise kendi limitinizi %4'e koyun, çünkü fiyat stop'unuzun ötesine boşluk yapabilir.

Üründe

1.09 sürümünden beri Indicator Signal Trader Kb tam olarak bunu içerir: parametrelerde "Daily loss limit", varsayılan olarak kapalı, sunucu gününün başındaki bakiye ve özsermayeden yüksek olana göre tüm hesap üzerinde sayılır, yeniden başlatmalarda korunur ve devreye girdiğinde panelde kırmızı bir satır gösterir. Strateji Test Cihazında, %0,5 limit ve işlem başına %1 riskle GBPUSD'de 2022-2026 boyunca 372 kez devreye girdi ve aynı gün sonrasında tek bir pozisyon bile açılmadı - bir günlük limitin garanti etmesi gereken tek şey de budur.