Fan sayfamıza katılın
Öyleyse bir link gönderin -
başkalarının da faydalanmasını sağlayın
- Görüntülemeler:
- 19
- Derecelendirme:
- Yayınlandı:
-
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ı
-
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ı
-
-
Mevduat para birimi cinsinden risk tutarının hesaplanması
riskAmount = баланс × (риск% / 100) -
Lot hacminin hesaplanması
lotSize = riskAmount / (stopLossPips × tickValue)
-
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 SNR Algılama, ZigZag pivot noktalarını kullanarak destek ve direnç seviyelerini belirler.
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
A chart-cleanup + quick-trading layer for MT5
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.
