Fan sayfamıza katılın
- Görüntülemeler:
- 26
- Derecelendirme:
- Yayınlandı:
- Güncellendi:
-
Bu koda dayalı bir robota veya göstergeye mi ihtiyacınız var? Freelance üzerinden sipariş edin Freelance'e git
Amaç
Bu dahil dosyası, MQL5 için bir değer veya hata dönüş türü sağlar; böylece işlevler, unutulması ve üzerine yazılması kolay olan ve çıkış parametrelerini ve "sihirli" dönüş değerlerini zorunlu kılan küresel GetLastError() / ResetLastError() durumu yerine, başarıyı veya başarısızlığı açıkça bildirebilir.
Ne Yapar
Bir fonksiyon, ya bir değer ya da bir Hata içeren tek bir nesne döndürür; çağıran taraf, değeri kullanmadan önce bunu kontrol etmelidir.
- ResultValue<T> — değer türleri (sayılar, yapılar) için.
- Result<T> — işaretçi ile tutulan nesneler (sınıflar) için aynı sözleşme.
- Error — hafif bir yapı (kod + açıklama); kodlar, EnumToString aracılığıyla okunabilir adlara eşlenir.
- MQLError — GetLastError / ResetLastError / SetUserError üzerinde ince bir sarmalayıcıdır.
- Makrolar — TRY , RETURN_ON_ERROR , PRINT_ON_ERROR , RETURN_SAME_ON_ERROR , RESULT_ON_ERROR — tekrarlanan kod yazmaya gerek kalmadan erken dönüşün yayılması için.
- İsteğe bağlı geri çağırmalar — Then , Match , MapError ( en üst düzey veya statik işlevleri kabul ederler; MQL5'te kapanışlar yoktur).
Erişim işlevleri: Value () , ValueOr (fallback) , CurrentError () , IsError () .
Kullanım
// Aşama işlevleri (üst düzey — MQL5’te kapanışlar yoktur) ResultValue<double> EnsurePositive(const double &value) { if (value <= 0.0) { return ResultValue<double>::Fail("price must be positive"); } return ResultValue<double>::Ok(value); } ResultValue<double> ToPips(const double &price) { return ResultValue<double>::Ok(price / _Point); } Error Describe(const Error &error) { return Error::Create(error.code, "pipeline failed: " + error.description); } void OnOk(const double &value) { PrintFormat("[pipeline] result = %.1f pips", value); } void OnFail(const Error &error) { PrintFormat("[pipeline] %s", error.description); } // İş akışı: okuma -> doğrulama -> dönüştürme -> (hata notu ekleme) -> işleme void RunPipeline() { SymbolDouble("EURUSD", SYMBOL_BID) .Then(EnsurePositive) .Then(ToPips) .MapError(Describe) .Match(OnOk, OnFail); }
MetaQuotes Ltd tarafından İngilizceden çevrilmiştir.
Orijinal kod: https://www.mql5.com/en/code/74427
Mediana Trendline
Draws parallel trend channels (Median, High, Low) on the current chart based on the last two closed candles of up to 7 higher timeframes (MN1, W1, D1, H4, H1, M30, M15), with individually configurable colors and line styles for each timeframe.
Advanced Risk Manager: Auto Suffix Detection Multi Currency Lot Sizer
Advanced MQL5 risk management class providing deterministic lot sizing, auto-suffix detection, and cross-currency triangular conversion.
Pip Value Calculator
Canlı pip değeri, riske dayalı lot büyüklüğü belirleme, özel hacim risk analizi ve açık pozisyon kâr/zararı — hepsi tek bir panelde.
SniperGold SMC ProPlus (Institutional Smart Money Concepts)
SMC chart indicator: market structure (BOS/CHoCH), volume weighted order blocks, multi timeframe FVG, equal highs/lows, liquidity sweeps, premium/discount zones, a 3 time frame bias panel and an optional trade setup readout. Closed bar logic only (no repaint). It draws and alerts, it does not place trades.
