Alım-satım robotlarını ücretsiz olarak nasıl indirebileceğinizi izleyin
Bizi Telegram ü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

Result - type-safe error handling for MQL5 without exceptions - MetaTrader 5 için kütüphane

Maksym Yaroslavovych Libovych
Maksym Yaroslavovych Libovych
  • Software Engineer | .NET | MQL5 | NinjaTrader at  Self-employed
  • Ukrayna
  • 185
MQL5 Developer — Expert Advisors & Custom Indicators | NinjaTrader, QuantConnect
• I build and maintain algorithmic trading systems in MQL5 — Expert Advisors, custom indicators, and strategy backtesting/optimization.
| Turkish English Русский 中文 Español Deutsch 日本語 Português 한국어 Français Italiano
Görüntülemeler:
12
Derecelendirme:
(1)
Yayınlandı:
\MQL5\Include\Common\ \MQL5\Include\ \MQL5\Scripts\
MQL5 Freelance 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

Hata İşleme

// 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) 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 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 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) 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.