iUSDx (USDインデックス) マルチカレンシーインジケーター - MetaTrader 5用

Mike 2010.12.24 19:45 11 0 0
添付ファイル

USDインデックス(USDx)は、米ドルが複数の通貨(EUR、JPY、GBP、CAD、CHF、SEK)に対してどれだけ強いかを測る指標です。

USDxは1973年3月に始まり、ブレトン・ウッズ体制の崩壊後に登場しました。当初、米ドルインデックスの値は100.000でした。それ以来、最高値は160台中盤、最低値は2008年3月16日に記録した70.698です。この値は1973年の創設以来の最低値となっています。

「バスケット」の構成は1999年のユーロ導入時に一度だけ変更されました。USDxは、米ドル市場が開いている間、つまり日曜日のニューヨーク時間の夕方(アジア時間では月曜の早朝)から金曜の午後まで、24時間更新されます。

USDインデックスは、6つの通貨ペアの幾何平均として計算されます:

USDx = 50.14348112 * EURUSD^(-0.576) * USDJPY^0.136 * GBPUSD^(-0.119) * USDCAD^0.091 * USDSEK^0.042 * USDCHF^0.036


このUSDxインデックスの特徴:

  • MCMコントロールパネル」を使用しています。
  • リアルマルチカレンシーモードで動作し、各シンボルのティックを遅延なく受信します。一部のシンボルのクォートは数秒間に数回変動することがありますが、すべて処理されます。
  • 通貨ペアの完全同期。例えば、ある通貨ペアに過去データがない場合、その通貨ペアのUSDインデックスの値は計算されません。

iUSDx (USDインデックス) マルチカレンシーインジケーター

ちなみに、インジケーターラインは、すべての通貨ペアで新しいバーが出現したときに描かれます。

  • 各通貨ペアのデータ同期を完全に制御可能です。「MCMコントロールパネル」の「初期化」イベントを使用することで、インジケーターの値を再計算する際に時間を節約できます(例えば、過去データの読み込み時)。データは「初期化」イベントの後にのみ再計算されます。
  • インジケーターの実装は、OnTick()やOnTimer()関数を使用するよりもシンプルです。これにより遅延がなくなります。
  • インジケーターの再計算頻度を「その場で」変更できます。例えば、時間足でインデックスを計算する場合、すべてのティックで再計算する必要はなく、「MCMコントロールパネル」のイベントを1分、5分、または1時間に設定できます。しかし、CopyXXXX関数のために「新しいティック」イベントを使用することをお勧めします。時には過去データのリクエストを繰り返す必要があるためです。

インストール方法:

  • マルチカレンシー用の「MCMコントロールパネル」をダウンロードし、「iControl panel MCM.mq5」と「Spy Control panel MCM.mq5」をコンパイルします。
  • Market Watch内のシンボルを指定された順序で設定します:
    1. EURUSD,
    2. USDJPY,
    3. GBPUSD,
    4. USDCAD,
    5. USDSEK,
    6. USDCHF.
    Market Watch内のシンボルの順序は、インデックスの計算に重要です。
  • iUSDx.zipを/MQL5フォルダーに解凍します。次に、/MQL5/Indicators/iUSDx/からiUSDxをチャートに添付します(例えば、EURUSD M1)。
  • その後、「MCMコントロールパネル」のイベントを設定する必要があります:すべてのシンボルに「新しいティック」イベントを設定します。詳しくはこちらを参照してください。
  • さらに、EURUSD M1の「新しいバー」イベントを追加します。このイベントは、現在の時間足(この場合はM1)で新しいバーが出現したときの同期に使用されます。

次は楽しんでください。バグを見つけた場合は、私にプライベートメッセージを送ってくださいね。

リスト
コメント 0