Alım-satım robotlarını ücretsiz olarak nasıl indirebileceğinizi izleyin
Bizi Telegram üzerinde bulun!
Fan sayfamıza katılın
Komut dosyasını ilginç mi buldunuz?
Öyleyse bir link gönderin -
başkalarının da faydalanmasını sağlayın
Komut dosyasını beğendiniz mi? MetaTrader 5 terminalinde deneyin
Kütüphaneler

Lot Yüzdesini Hesaplayın - MetaTrader 5 için kütüphane

Görüntülemeler:
19
Derecelendirme:
(2)
Yayınlandı:
MQL5 Freelance Bu koda dayalı bir robota veya göstergeye mi ihtiyacınız var? Freelance üzerinden sipariş edin Freelance'e git

CalculateLot işlevi , risk yönetimi ilkelerine dayalı olarak işlem lot büyüklüğünü otomatik olarak hesaplamak için tasarlanmıştır . Bir yatırımcının bir işlemde riske atmak istediği hesap bakiyesinin yüzdesini belirlemesine ve buna bağlı olarak optimum pozisyon hacmini belirlemesine olanak tanır.

Sözdizimi

double CalculateLot(double riskPercent, double stopLossPips);

Parametreler

Параметр        Тип     Описание
riskPercent     double  Процент от текущего баланса счета, которым трейдер готов рискнуть. Указывается в абсолютном значении (например, 2.0 = 2% от баланса).
stopLossPips    double  Расстояние до уровня Stop Loss в пунктах. Для 5-значных котировок указывается количество стандартных пунктов (например, 1000 = 1000 пунктов = 100 пипсов).

Dönüş değeri

Fonksiyon normalleştirilmiş lot hacmini ( double )döndürür :

  • Hacimadımına yuvarlama kurallarına uygun ( VOLUME_STEP );

  • İzin verilen maksimum hacmi aşmayan ( VOLUME_MAX );

  • İzin verilen minimum hacimden az olmayan ( VOLUME_MIN ).

Hesaplanan değer izin verilen sınırları aşarsa, fonksiyon sınırlı bir değer döndürür (minLot veya maxLot).

Çalışma algoritması

  1. Hesap ve sembol parametrelerinin elde edilmesi

    • Cari bakiye ( ACCOUNT_BALANCE )

    • Tik değeri ( SYMBOL_TRADE_TICK_VALUE )

    • Minimum, maksimum ve lot değişim adımı

  2. Mevduat para birimi cinsinden risk tutarının hesaplanması

    riskAmount = баланс × (риск% / 100)

  3. Lot hacminin hesaplanması

    lotSize = riskAmount / (stopLossPips × tickValue)

  4. Normalleştirme ve doğrulama

    • En yakın adıma yuvarlama ( VOLUME_STEP )

    • Minimum ve maksimum değer doğrulaması

Kullanım örnekleri

Örnek 1. Uzman Danışman'da temel kullanım

//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnTick()
{
   //--- Riski bakiyenin %1,5'i olarak ayarlayın ve zararı 500 pip durdurun
   double lot = CalculateLot(1.5, 500);
   
   //--- Lotun doğru hesaplandığını kontrol edin
   if(lot > 0.0)
     {
      //--- Güncel fiyatları alın
      double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
      
      //--- Seviyeleri hesapla
      double sl = ask - 500 * _Point;
      double tp = ask + 1500 * _Point;
      
      //--- Bir pozisyon açın
      trade.Buy(lot, _Symbol, ask, sl, tp);
     }
}


Örnek 2. Hata denetimi olan bir komut dosyasında kullanım

//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnStart()
{
   double riskPercent  = 2.0;   // Bakiyenin %2'si oranında risk
   double stopLossPips = 1000;  // Zararı durdur 1000 puan
   
   double lot = CalculateLot(riskPercent, stopLossPips);
   
   //--- Hesaplama hakkında çıktı bilgisi
   Print("=== Lot hesaplama sonuçları ===");
   Print("Hesap Bakiyesi: ", AccountInfoDouble(ACCOUNT_BALANCE));
   Print("Risk, %: ", riskPercent);
   Print("Risk miktarı: ", AccountInfoDouble(ACCOUNT_BALANCE) * riskPercent / 100.0);
   Print("Zararı durdur, puan: ", stopLossPips);
   Print("Geçici maliyet: ", SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE));
   Print("Hesaplanan lot: ", lot);
   Print("================================");
   
   if(lot <= 0.0)
     {
      Alert("Hata: Lot hesaplaması başarısız oldu. Risk ve zararı durdur parametrelerini kontrol edin.");
     }
}

MetaQuotes Ltd tarafından Rusçadan çevrilmiştir.
Orijinal kod: https://www.mql5.com/ru/code/71010

ZigZag Support and Resistance Detection ZigZag Support and Resistance Detection

ZigZag SNR Algılama, ZigZag pivot noktalarını kullanarak destek ve direnç seviyelerini belirler.

To Close All Open Trades of Different Symbols To Close All Open Trades of Different Symbols

Teknik Detaylar Mevcut Alış/Alış fiyatlarında anında piyasa kapanışı için TRADE_ACTION_DEAL ile MQL5'in OrderSend özelliğini kullanır. Kayma toleransı (10 puan), uygun hacim eşleştirme ve sihirli sayı korumasını içerir. Yürütme sırasında endeksin kaymasını önlemek için pozisyonlar arasında geriye doğru döngüler.

Frontend EA : UI cleanup + quick-trading layer for MT5 Frontend EA : UI cleanup + quick-trading layer for MT5

A chart-cleanup + quick-trading layer for MT5

Advanced Trade History Exporter: MAE, MFE and Time-Based Excursions (Points) Advanced Trade History Exporter: MAE, MFE and Time-Based Excursions (Points)

Utility script that exports your MetaTrader 5 trading history to a CSV file. It automatically calculates Maximum Favorable Excursion (MFE), Maximum Adverse Excursion (MAE), and Forward Returns (Time-Based Excursions) in whole points for deep quantitative analysis in Excel. It will allow you to understand whether you close your trades too early and can help optimize overall trading execution.