私たちのファンページに参加してください
- ビュー:
- 40
- 評価:
- パブリッシュ済み:
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
Logifyは、EAとインジケータのデバッグ、トラッキング、モニタリングを簡素化するために設計されたMQL用のロギングライブラリです。ログレベル、柔軟なフォーマット、複数のハンドラをサポートし、構造化され、カスタマイズ可能で、整理されたログをチャート上またはターミナルで直接提供します。MQLプロジェクトに簡単に統合できる、軽量でエレガントなソリューションです。
特徴
- 複数のログレベル:デバッグ、情報、アラート、エラー、致命的
- グラフ、ターミナル、ファイル、またはデータベースにログを直接表示
- カスタマイズ可能なログ形式とレイアウト
- 複数のハンドラを持つモジュラーアーキテクチャ
- 軽量で統合しやすく、使いやすい
インストール
- フォルダ /Logify を
にコピーします。MQL5/Include/
- あなたのEA、インジケーター、スクリプトにLogifyを含める:
#include <Logify/Logify.mqh>
- Gitを使用してインストールすることも可能です。リポジトリに アクセスし、手順に従ってください。
クイックスタート例
デフォルト設定のシンプルな例:
//+------------------------------------------------------------------+ //| インポート| //+------------------------------------------------------------------+ #include <Logify/Logify.mqh> CLogify Logify; //+------------------------------------------------------------------+ //| エキスパート初期化関数| //+------------------------------------------------------------------+ int OnInit() { //--- ログの例 Logify.Debug("Initialization started"); Logify.Info("Account balance is OK"); Logify.Alert("Take profit reached"); Logify.Error("Failed to send order", "Order", "Reason: No money"); Logify.Fatal("Critical error: Invalid input parameters"); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+
カスタム・ハンドラ設定の高度な例。この例では、ログ記録をファイルとグラフコメントに保存します。それぞれの設定をカスタマイズする。
//+------------------------------------------------------------------+ //| インポート| //+------------------------------------------------------------------+ #include <Logify/Logify.mqh> CLogify Logify; //+------------------------------------------------------------------+ //| エキスパート初期化関数| //+------------------------------------------------------------------+ int OnInit() { //--- コメントハンドラの設定 MqlLogifyHandleCommentConfig config_comment; config_comment.size = 10; config_comment.frame_style = LOG_FRAME_STYLE_SINGLE; config_comment.direction = LOG_DIRECTION_UP; config_comment.title = "My Expert"; //--- コメントハンドラの作成と設定 CLogifyHandlerComment *handler_comment = new CLogifyHandlerComment(); handler_comment.SetConfig(config_comment); handler_comment.SetLevel(LOG_LEVEL_DEBUG); handler_comment.SetFormatter(new CLogifyFormatter("{date_time} [{levelname}]: {msg}","hh:mm:ss")); //--- ファイル・ハンドラの設定 MqlLogifyHandleFileConfig file_config; file_config.CreateDateRotationConfig("my_expert","logs",LOG_FILE_EXTENSION_LOG,10,100,CP_UTF8); //--- ファイルハンドラの作成と設定 CLogifyHandlerFile *handler_file = new CLogifyHandlerFile(); handler_file.SetConfig(file_config); handler_file.SetLevel(LOG_LEVEL_DEBUG); handler_file.SetFormatter(new CLogifyFormatter("{date_time} [{levelname}]: {msg} ({filename} | {origin} | {function})","hh:mm:ss")); //--- ハンドラをアタッチする Logify.AddHandler(handler_comment); Logify.AddHandler(handler_file); //--- ログの例 Logify.Debug("Initialization started"); Logify.Info("Account balance is OK"); Logify.Alert("Take profit reached"); Logify.Error("Failed to send order", "Order", "Reason: No money"); Logify.Fatal("Critical error: Invalid input parameters"); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+
各設定を理解するためには、ライブラリ開発の各ステップを説明した以下の記事を読むことをお勧めします:
- ログ・レコードをマスターする(パート1):MQL5の基本概念とファーストステップ
- ログ・レコードをマスターする(パート2):ログのフォーマット
- ログ・レコードをマスターする(パート3)ログを保存するハンドラ
- ログレコードをマスターする(パート4):ログをファイルに保存する
- ログレコードを使いこなす (その5):キャッシュとローテーションでハンドラーを最適化する
- ログ記録を使いこなす (その6):ログをデータベースに保存する
- ログ記録を使いこなす (その7):グラフにログを表示する
- ログ記録を使いこなす (その8):翻訳されるエラー記録
- ログ記録のマスター(その9):ビルダーパターンの実装とデフォルト設定の追加
- ログ記録を使いこなす(第10回)サプレッションの実装によるログ・リプレイの回避
✔️ ログレベル
レベル | 説明 |
---|---|
デバッグ | デバッグ用の詳細情報 |
INFO | 一般的な情報 |
警告 | 警告または重要なイベント |
エラー | 注意を要するエラー |
致命的 | 重大なエラー、実行停止 |
🖥️ 含まれるハンドラ
各ハンドラは、ログの表示場所や保存場所を定義します。
ハンドラ | 説明 |
---|---|
コメント | グラフに直接ログを表示する(コメント) |
コンソール | MetaTraderターミナルにログを表示する |
ファイル | ログを.txtまたは.logファイルに保存 |
データベース | ローカルSQLiteデータベースにログを保存 |
例えば、グラフィック+ファイル+コンソールのように、1つまたは複数のハンドラを同時に使用することができます。
🛠️ ログフォーマット
フォーマットパターンの例
"{date_time} [{levelname}]: {msg}"
使用可能なトークン:
- {レベル名}:レベル名 (DEBUG、INFO、ERRORなど)
- {msg}:メインメッセージ
- {args}: 追加の引数または詳細
- {timestamp}: タイムスタンプ(秒単位) (Unix Time)
- {date_time}: 書式付き日時 (hh:mm:ss など)
- {level}: レベルの数値コード (0 = DEBUG, 1 = INFO...)
- {オリジン}: ログ呼び出しで定義されたオリジンまたはコンテキスト
- {ファイル名}: ソースファイル名(利用可能な場合)
- {関数}: 呼び出された関数の名前
- {line}: ログが発生したコードの行番号
⚖️ ライセンス
MITライセンス - 個人・商用プロジェクトで自由に使える。
👨💻 作者
joaopedrodevによって 開発され、MQL開発をより専門的、組織的、効率的にすることに重点を置いています。
MetaQuotes Ltdによって英語から翻訳されました。
元のコード: https://www.mql5.com/en/code/59821

上昇中のEMA移動平均線の下にエンゲルフィング・バーが発生 - 買い取引 - (英語

このExpert Advisor(EA)は、FXと暗号市場の両方で1分足(M1)チャート上の高頻度取引用に設計されています。RSIとローソク足のパターンを使用して売買シグナルを識別し、市場のボラティリティに基づいたダイナミックなストップロス、テイクプロフィット、トレイリングストップレベルで自動的に取引を実行します。

Rsiインジケータ

これは、MetaTrader 5の標準的な最適化機能を拡張するテスタースクリプトで、複雑なユーザー定義の基準(サンプル内期間とサンプル外期間の分離、高度な指標と統計テスト)に従ってストラテジーを評価することができます。