私たちのファンページに参加してください
- ビュー:
- 135
- 評価:
- パブリッシュ済み:
-
このコードに基づいたロボットまたはインジケーターが必要なら、フリーランスでご注文ください フリーランスに移動
コードには理解を深めるためのコメントがたくさん付いています。この説明では、主なアイデアと、コードの使用/再利用方法を説明する。
このフレームワークは3つの主要な構成要素からなる:
1.CalendarRetriever.mq5 (スクリプト) - このスクリプトは、過去の経済ニュースイベントを取得し、ターミナルの「Common」フォルダ内のファイルに保存します。これらのファイルは後でバックテスト中にエキスパート・アドバイザーによって読み込まれます。スクリプトには2つの入力パラメータが必要です: - 開始日 -過去のニュースイベントを取得する日付。
- 終了日 -ニュースイベントを保存する最後の日付。
このスクリプトを実行すると、ターミナルの "Common "ディレクトリに "Calendar "フォルダが生成され、以下のテキストファイルが作成さ れます: - Countries.txt - 各MQLCalendarCountryに関する情報が格納されています。
- Events.txt - 名前、影響、国名などのイベントの詳細を格納。
- News.bin - タイムスタンプを含む過去のニュースイベントの値を保持します。
2.CalendarFile.mq (インクルード・ファイル) -このファイルは、エキスパート・アドバイザーでニュース・データを扱うための構造化された方法を提供します。 このファイルには2つの主要なクラスが含まれて います: - CalendarFileWriter -ニュースデータを保存するためにスクリプト内部で使用されます。
- CalendarFileReader -ニュースデータを読み込んで処理するために、エキスパートアドバイザーで使用されます。イベントデータをロードし、OnTick 関数で今後のニュースを追跡する関数が含まれています。
3.NewsBacktest.mq5 (エキスパートアドバイザー) - ストラテジーテスターでリアルタイムのニュース状況をシミュレートするために保存されたデータを使用します。Load関数を使用して保存されたニュースデータを読み込み、それに従って取引を実行します。
フレームワークの使い方
-
CalendarRetrieverスクリプトを実行: バックテストしたいシンボルを選択し、開始日と終了日を指定してCalendarRetriever.mq5スクリプトを実行します。
-
エキスパートアドバイザー
- EA は、CalendarFileReader クラスを使用して、以下の関数を使用してデータを読み込みます:
- LoadEvents() - イベントの詳細をロードします。
- LoadCountries() - 国情報を読み込みます。
- LoadValues() - 過去のニュース値をロードします。
- その後、OnTick 関数でニュース・イベントを処理して、ニュース・イベントが発生するタイミングを判断します。予測するには Propagate() を使用し、反応するには Track() を使用します。
- CalendarFileReader.Propagate()関数は、次のインデックスを次のイベントに設定します。
- CalendarFileReader.Track()関数は、ニュースイベントが経過したときにtrueを返し、最後のインデックスをその特定のイベントに設定します。OnTick()関数でも呼び出されますが、結果をチェックする必要があります。
- EA は、CalendarFileReader クラスを使用して、以下の関数を使用してデータを読み込みます:
-
ストラテジーのバックテスト MetaTrader 5のストラテジーテスターを 開き、NewsBacktest.mq5を選択して、ビジュアルモードでバックテストを実行します。
独自のニュースベースのストラテジーに適用する方法:
このフレームワークは、トレーダーが経済ニュースイベントを中心に独自の戦略を開発できるよう、柔軟に設計されています。以下に、このフレームワークを変更する方法をいくつか示します:
- OnTick()のイベントフィルタリングロジックを調整し、特定のニュースタイプに反応させる(例えば、NFPやCPIの発表後のみ取引する)。
- 注文執行ロジックを変更して、ブレイクアウト取引の代わりに初動をフェードする など、異なる戦略を実行する。
- エントリーシグナルを精緻化するために、ニュースイベントと並行して追加指標を使用する。
- イベントの影響度合いに応じて、未決済注文の有効期限を変更する。
このソリューションにより、MetaTrader 5の制限内でニュースベースの戦略のバックテストが可能な限り現実的になります。まず過去のニュースデータを取得し、次に市場への影響をシミュレートすることで、トレーダーは自分の戦略が実際の状況でどのように機能するかについて貴重な洞察を得ることができます。
より簡単に、より良く理解するために、私のビデオをチェックしてください:
MetaQuotes Ltdによって英語から翻訳されました。
元のコード: https://www.mql5.com/en/code/55630

トレンド均衡指標TrendEQは、モメンタムとボラティリティを組み合わせることで、市場トレンドを動的に分析します。市場トレンドに対するモメンタムを測定することで、TrendEQはトレン ドの強さと方向性の信頼できる指標を提供します。

MQL5のRiskManagementライブラリは、リソースを最小限に抑えるように最適化された、効率的でダイナミックなリスク管理を提供します。カスタマイズ可能なモディファイアで最大利益と最大損失の上限を設定することができます。OCO注文コントロール、ローソク足管理と価格変換のツールも含まれています。

このEAは、移動平均とストキャスティクス・オシレーターのシグナルを利用して、市場のトレンドを自動的にフォローするように設計されています。EAはMAクロスオーバーを利用して売買シグナルを検出し、ストキャスティクスでトレンドを確認します。さらに、このEAには、テイクプロフィット、ストップロス、ロットサイズ倍増の設定などの自動ポジション管理が含まれており、トレンド相場での取引効果を高めます。

Trade Assistant MetaTraderインジケータ - 3つの標準インジケータに基づ くマルチタイムフレームインジケータ:ストキャスティクス・オシレーター、RSI(相対力指数)、CCI(商品チャ ンネル指数)。このインディケータは、M1、M5、M15、M30、H1、H4、D1、W1、MN1 の各タイムフレームの現在のトレンド方向を表示します。こ の よ う な イ ン デ ィ ケ ー タ に 従 う と 、す べ て の 重 要 な タ イ ム フ レ ー ム に わ た る ト レ ン ド を 明 確 に 捉 え る こ と が で き ま す 。このインディケータをどのタイムフレームにアタッチするかは問いません。このインディケータは、MT4およびMT5用にダウンロードできます。