MetaTrader5
iUSDx (USDインデックス) マルチカレンシーインジケーター - MetaTrader 5用
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インデックスの値は計算されません。
ちなみに、インジケーターラインは、すべての通貨ペアで新しいバーが出現したときに描かれます。
各通貨ペアのデータ同期を完全に制御可能です。「MCMコントロールパネル」の「初期化」イベントを使用することで、インジケーターの値を再計算する際に時間を節約できます(例えば、過去データの読み込み時)。データは「初期化」イベントの後にのみ再計算されます。
インジケーターの実装は、OnTick()やOnTimer()関数を使用するよりもシンプルです。これにより遅延がなくなります。
インジケーターの再計算頻度を「その場で」変更できます。例えば、時間足でインデックスを計算する場合、すべてのティックで再計算する必要はなく、「MCMコントロールパネル」のイベントを1分、5分、または1時間に設定できます。しかし、CopyXXXX関数のために「新しいティック」イベントを使用することをお勧めします。時には過去データのリクエストを繰り返す必要があるためです。
インストール方法:
マルチカレンシー用の「MCMコントロールパネル」をダウンロードし、「iControl panel MCM.mq5」と「Spy Control panel MCM.mq5」をコンパイルします。
Market Watch内のシンボルを指定された順序で設定します:
EURUSD,
USDJPY,
GBPUSD,
USDCAD,
USDSEK,
USDCHF.
Market Watch内のシンボルの順序は、インデックスの計算に重要です。
iUSDx.zipを/MQL5フォルダーに解凍します。次に、/MQL5/Indicators/iUSDx/からiUSDxをチャートに添付します(例えば、EURUSD M1)。
その後、「MCMコントロールパネル」のイベントを設定する必要があります:すべてのシンボルに「新しいティック」イベントを設定します。詳しくはこちらを参照してください。
さらに、EURUSD M1の「新しいバー」イベントを追加します。このイベントは、現在の時間足(この場合はM1)で新しいバーが出現したときの同期に使用されます。
次は楽しんでください。バグを見つけた場合は、私にプライベートメッセージを送ってくださいね。
2010.12.24