Fan sayfamıza katılın
- Görüntülemeler:
- 12
- Derecelendirme:
- Yayınlandı:
-
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
Clock (Spread)
What this indicator does Clock (Spread).mq5 is a MetaTrader 5 chart indicator that displays a small text label in the corner of the chart showing: Countdown timer until the current candle closes (in HH:MM:SS or MM:SS format, depending on timeframe) Current spread (Ask − Bid, in points), shown in parentheses next to the timer
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.
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.
