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

Position sizing from risk, using the broker's own tick value and volume step - MetaTrader 5 için kütüphane

Ralph Ivan Simeon
Ralph Ivan Simeon
I build and audit automated trading systems for MetaTrader 5, with most of my work on XAUUSD.
| Turkish English Русский 中文 Español Deutsch 日本語 Português 한국어 Français Italiano
Görüntülemeler:
14
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

Bir pip’in değerinin on dolar olduğunu varsayan her lot büyüklüğü hesaplayıcısı, altın, endeksler, JPY çapraz kurları ve ABD Doları cinsinden olmayan herhangi bir hesapta hatalıdır — ki aşırı büyük lotların zarara yol açtığı durumlar tam da budur. Bu başlık ise, sunucunun sembol için gerçekte yayınladığı verileri temel alarak hesaplamayı yapar.

Ne yapar? CalcLots() işlevinin döndürdüğü değer; çoğu boyutlandırma rutininin yanlış hesapladığı durum da dahil olmak üzere

CalcLots(), hesap para birimindeki risk tutarını, giriş fiyatını ve stop fiyatını alır ve brokerın kısıtlamaları uygulandıktan sonra, işlem hacmini ve bu hacmin gerçekte ne kadar risk taşıdığını döndürür.

  • Hacmi her zaman brokerın hacim adımına göreAŞAĞI doğru yuvarlar. Yukarı yuvarlamak, talep ettiğinizden daha fazla riske yol açar ve bu, bir lot hesaplama rutininin asla yapmaması gereken tek şeydir.
  • İstenen risk, minimum lot büyüklüğünden küçük olduğunda, fonksiyon bu işlemi gerçekleştirmez. Minimum lot büyüklüğünü döndürür, clamped_min değerini ayarlar ve pozisyonun gerçekte taşıdığı riski bildirir; bu risk, talep edilenden daha büyük olacaktır.
  • Bu işlem, tarafdan bağımsızdır. Stop, giriş seviyesinin üstünde veya altında olabilir.

Ayrıca stop mesafesini puan cinsinden ve 1,00 lot başına bir puanın değerini de döndürür; böylece çağrı yapan kişi sadece bir sayı yerine işlemin nasıl gerçekleştiğini gösterebilir.

Matematik neden ayrı bir başlık altında?

Calc.mqh, terminal durumu barındırmaz. SymbolSpec yapısını (nokta, tik boyutu, tik değeri, hacim min/maks/adım, basamak sayısı) alır; böylece boyutlandırma mantığının tamamı, sentetik enstrümanlar üzerinde çevrimdışı olarak uygulanabilir.

SpecFromSymbol(), canlı verilere açılan tek köprüdür. Öncelikle SYMBOL_TRADE_TICK_VALUE_LOSS değerini okur; çünkü bu, bir işlem aleyhinize gittiğinde sunucunun kullandığı rakamdır ve bu tam olarak stop loss emrinin bulunduğu taraftır; kayıp varyantını sıfırda bırakan brokerlar için ise SYMBOL_TRADE_TICK_VALUE değerine geri döner.

Bu ayrım, dahil edilen test komut dosyasının çalışmasını mümkün kılan şeydir.

Test komut dosyası

RiskLotCalculatorTests.mq5, herhangi bir grafikte, broker bağlantısı ve geçmiş verisi olmadan çalışır. 41 farklı durumu test eder: hacim adımı yuvarlama, her iki sınırlayıcı ve bunların bayrakları, tik boyutu nokta boyutundan farklı olduğunda nokta değeri ölçeklendirme, 5 basamaklı bir ana para birimi, altın, 0,1 lot adımlı bir endeks, her iki işlem yönü ve her reddetme yolu - sıfır risk, negatif risk, girişte bulunan bir stop ve eksik tik verileri.

Bunu bir grafiğe sürükleyin ve Uzmanlar sekmesini okuyun. Sonuç ALL PASS, passed=41, failed=0 olarak görünür.

Her iki dosya da bağımsızdır: bunları aynı klasöre bırakın, test komut dosyası olduğu gibi derlenir.

MetaQuotes Ltd tarafından İngilizceden çevrilmiştir.
Orijinal kod: https://www.mql5.com/en/code/77488

Session Range Breakout: Asia, London and New York high/low levels Session Range Breakout: Asia, London and New York high/low levels

Session Range Breakout draws the high and low of up to three intraday sessions (Asia, London and New York by default) and extends each level to the right with optional H/L labels and a range rectangle. Session hours, names and colours are configurable in server time. Optional popup, sound and push alerts fire when a bar closes outside a session range. The levels are fixed once the session closes, so the drawing does not repaint. The indicator draws chart objects only and never opens trades.

TesterStats: Strategy Tester report statistics in MQL5 code TesterStats: Strategy Tester report statistics in MQL5 code

Calculates the Strategy Tester report statistics from the deal history, including Z-Score, AHPR, GHPR, LR Correlation and LR Standard Error, which TesterStatistics() does not return. Checked value by value against the tester.

Contract Sizer: ladder, floor and a breaker that survives a deposit Contract Sizer: ladder, floor and a breaker that survives a deposit

Farklı işlevlere sahip üç pozisyon büyüklüğü koruma mekanizması; bunların birbiriyle karıştırılması, pek çok hesabın tamamen silinmesine neden olmaktadır: - merdiven: bakiyenin her X birimi başına bir kontrat; manuel lot belirleme durumunda bile her zaman bir üst sınır (CAP) olarak uygulanır; - floor: minimum sermayenin altına düştüğünde işlem yapmaz; yeni bir para yatırımı gerekir; - breaker: hesap büyüklüğü ne olursa olsun, zirvenin X% altına düştüğünde durur ve kendi kendine yeniden etkinleşmez. Bu kütüphanenin çözdüğü ve neredeyse hiçbirinin çözemediği sorun: para yatırımı kâr değildir ve para çekme işlemi de zarar değildir. Breaker, düşüşü bakiye zirvesine göre ölçer. Bu durum dikkate alınmazsa, bir düşüş SIRASINDA yapılan para yatırma işlemi hem bakiyeyi hem de zirveyi yükseltir ve koruma, tam da yardımcı olacağı anda düşüşü algılamayı durdurur. Burada para yatırma ve çekme işlemleri, zirveyi aynı miktarda kaydırır. Zirve değeri bir dosyaya kaydedilir: terminal yeniden başlatıldığında zirve değerini unutan bir kırıcı, gerçek bir kırıcı değildir. Demo, düşüşün en dip noktasında yapılan bir para yatırma işlemini simüle eder. Para yatırma seçeneğini açık ve kapalı olarak çalıştırın ve "düşüş" sütununu karşılaştırın.

Non-Repainting Fair Value Gap Detector Non-Repainting Fair Value Gap Detector

Non-repainting three-bar Fair Value Gap detector for MetaTrader 5. Closed-bar detection, the 50% Consequent Encroachment level, mitigation as an explicit state machine, incremental scanning, and a built-in self-audit that re-checks the stored gap levels against the closed-bar series on attach. Pure native MQL5, no DLLs, no external dependencies.