私たちのファンページに参加してください
- ビュー:
- 17
- 評価:
- パブリッシュ済み:
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
目的
このインクルードファイルは、MQL5向けに「成功かエラーか」を示す戻り値型を提供します。これにより、関数はグローバル変数であるGetLastError()/ResetLastError() を通じてではなく、明示的に成功または失敗を報告できるようになります。グローバル変数による処理は、忘れられやすく、上書きされやすく、またアウトパラメータや「魔法のような」戻り値を強制してしまうという問題があります。
機能
関数は、値またはエラーのいずれかを保持する 1 つのオブジェクトを返します。呼び出し側は、値を使用する前にチェックを行う必要があります。
- ResultValue<T> — 値型(数値、構造体)用。
- Result<T> — ポインタで保持されるオブジェクト(クラス)に対する同様の契約。
- Error — 軽量な構造体(コード + 説明)。コードは EnumToString を通じて読みやすい名前にマッピングされます。
- MQLError — GetLastError / ResetLastError / SetUserError をラップしたシンプルなラッパー。
- マクロ — TRY 、 RETURN_ON_ERROR 、 PRINT_ON_ERROR 、 RETURN_SAME_ON_ERROR 、 RESULT_ON_ERROR — 定型コードを記述することなく、早期リターンを伝播させるためのものです。
- オプションのコールバック — Then 、 Match 、 MapError ( これらはトップレベル関数または静的関数を受け取ります。MQL5にはクロージャがありません)。
アクセサ: Value () 、 ValueOr (fallback) 、 CurrentError () 、 IsError () 。
使用方法
// ステージ関数(トップレベル — MQL5にはクロージャがない) 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); } // パイプライン:読み込み → 検証 → 変換 → (エラーの注釈付け) → 処理 void RunPipeline() { SymbolDouble("EURUSD", SYMBOL_BID) .Then(EnsurePositive) .Then(ToPips) .MapError(Describe) .Match(OnOk, OnFail); }
MetaQuotes Ltdによって英語から翻訳されました。
元のコード: https://www.mql5.com/en/code/74427
SimpleTradeStats
成約取引の統計。 この指標は取引実績を示しており、マジックナンバーによるフィルタリングが行われています。
V1N1 LONNY MT5
アジア時間帯のレンジブレイクアウトをターゲットとしたデイトレード用EA。複数銘柄対応、M15/M30/H1。PSAR+MACD+ストキャスティクスのシグナルを用いて、ロンドンセッション開始前のアジア時間帯のレンジ外で指値ストップ注文を発注します。ロンドン/NYの夏時間対応、構造的ストップ、トレーリングストップ、ブレークイーブン機能を搭載しています。
Pip Value Calculator
リアルタイムのPIP値、リスクベースのロットサイズ設定、カスタマイズ可能な取引量リスク分析、および建玉の損益――これらすべてが1つのパネルに集約されています。
SR Zone Scanner
強弱評価と即時アラート機能を備えた、複数時間足対応のサポート・レジスタンスゾーンスキャナー — M15、H1、H4、D1。
