ホーム テクニカル指標 投稿

FFC - Forex Factoryカレンダーを活用したMetaTrader 4用インジケーター

添付ファイル
15931.zip (8.96 KB, ダウンロード 0回)

こんにちは、トレーダーの皆さん!今日は、人気のあるニュースインジケーター FFCal を基にした改良版を紹介します。このインジケーターは、もともと DerkWehler がForexFactoryフォーラムで発表したものです。私自身のニーズに合わせてコードを修正したところ、他のトレーダーにも役立つのではないかと思い、シェアすることにしました。

このインジケーターは、チャート上にForex Factoryカレンダーからの5つの経済イベントを表示するパネルを設置します。高・中・低インパクトのイベントやスピーチ、祝日、特定のキーワードによるフィルターも可能です。詳細な修正内容はこちらをご覧ください。

さらに、EA内からこのインジケーターを呼び出すこともでき、iCustom()関数を使用して2つのバッファにアクセスできます:

  • バッファ (0) には、最新のイベントまでの分数が含まれています。
  • バッファ (1) には、最新のイベントのインパクト値が含まれています(低 = 1, 中 = 2, 高 = 3)。

バッファを呼び出す方法は2通りです:

シンプルな呼び出し: (デフォルト値が適用されます)

int EventMinute = (int)iCustom(NULL,0,"FFC",0,0);
if(EventMinute == 30) { .. あなたのコード .. } // イベントの30分前

int EventImpact = (int)iCustom(NULL,0,"FFC",1,0);
if(EventImpact == 3)  { .. あなたのコード .. } // 高インパクトイベント

高度な呼び出し:

iCustom(
        string       NULL,            // シンボル 
        int          0,               // タイムフレーム 
        string       "FFC",           // カスタムインジケーターのパス/名前 
        bool         true,            // true/false: アクティブチャートのみ 
        bool         true,            // true/false: 高インパクトを含める
        bool         true,            // true/false: 中インパクトを含める
        bool         true,            // true/false: 低インパクトを含める
        bool         true,            // true/false: スピーチを含める
        bool         false,           // true/false: 祝日を含める
        string       "",              // キーワード検索(大文字小文字を区別)
        string       "",              // 無視キーワード(大文字小文字を区別)
        bool         true,            // true/false: アップデートを許可
        int          4,               // 更新頻度(時間単位)
        int          0,               // バッファ: (0) 分数, (1) インパクト
        int          0                // シフト 
        );

*このインジケーターは現時点ではバックテスト機能を持っていません。


おすすめのスタイル:

  • 高インパクト色 = C'217,83,79'
  • 中インパクト色 = C'255,185,83'
  • 低インパクト色 = C'91,192,222'
  • 祝日色 = clrOrchid
  • 備考色 = clrDimGray

カレンダーの凡例:

  • m/m: 月次
  • q/q: 四半期
  • y/y: 年次
  • K
  • M 百万
  • B
  • T

FFC 1

FFC 2

FFC 3

修正内容:

  1. 追加: #property strictを追加し、MetaTrader 4 Build 600+との互換性とコード品質を向上。
  2. 追加: イベントの前回/予測インパクトを表示するオプション(色付きインパクト)。
  3. 追加: アクティブチャートに関連するイベントのみを表示するオプション(他のパラメータを上書き)。
  4. 追加: キーワードフィルター。特定の単語(例: "NFP")に関連するイベントをフィルタリングするオプション(大文字小文字を区別)。
  5. 追加: 通貨強度/バーの残り時間/スプレッド値を表示するオプション。
  6. 追加: 過去のイベントの表示時間を制御するオプション(分単位)。
  7. 追加: パネルの位置を4つのチャートコーナーに設定するオプション。
  8. 追加: マウスホバー時にイベントタイトル、インパクト、残り時間を表示するツールチップ。
  9. 追加: パネルタイトル。リマインダーノートとして使用可能です :)
  10. 修正: イベントを「日付/時間形式」で表示するように変更(残り時間はツールチップから確認可能)。
  11. 修正: 今後のイベントのための縦線を表示(ブローカーの時間に応じて「時間オフセット」の入力を調整する必要があるかもしれません)。
  12. 修正: 今後のイベントの分数とインパクトを保持するバッファを見直し(上記の例を参照)。
  13. 修正: 外部入力の順序を見直し。
  14. 改善: DownLoadWebPageToFile()関数を、ネイティブWindowsのURLDownloadToFileW()関数に置き換え。
  15. 改善: XMLファイルのダウンロード/読み込み関連のコードを関数にまとめ、必要なときに呼び出せるように。
  16. 改善: XMLファイルを更新するために使用される「GlobalVariables」を、FILE_MODIFY_DATEに置き換え、OnTimer()を「AllowUpdates」、「UpdateHour」入力で設定。
  17. 改善: GMTオフセットを調整し、イベントが自動的にローカル時間で表示されるように。
  18. 改善: パネル/テキストの位置を右/左に調整。
  19. 改善: アラート機能。ポップアップアラートに加えて、音声アラート、プッシュ通知メールも送信されます(2種類のアラート)。
  20. 改善: コード品質を向上させ、インジケーターがより軽量で高速に。
  21. 修正: 様々なバグ修正、一部の不要な/未使用のコードや変数を削除し、関連する関数内に変数を配置。

実際の著者:

クレジット:


*このインジケーターを使用するには、MetaTrader 4のプラットフォームオプションでDLLインポートを有効にする必要があります。
*コードにはバグや他の欠陥がある可能性があるため、バグや提案、またはより良いコードプラクティスを見つけた場合は教えてください。
*Forex Factoryのウェブサイトによると、すべてのイベント時間はおおよそであり、変更される可能性があります

関連記事

コメント (0)