MetaTrader 5用インジケーター「Unity」の活用法

Mike 2019.07.18 01:38 22 0 0
添付ファイル

「Unity」は、金属および主要通貨の価値の同期的変化を示すクラスターマルチ通貨インジケーターです。このインジケーターは、「アルゴリズムトレーディングにおけるコホネンニューラルネットワークの実用化 第2部 最適化と予測」の中で初めて公開されました。

このインジケーターの基本的な動作は、以下のアルゴリズムによって説明されます。まずは、1つの通貨ペア(EURUSD)と金(XAUUSD)を使ったミニマリスティックな例で考えてみましょう。

市場の状態(つまり、現在の価格やバーのオープンプライス)は、以下の明確な式で表されます:

EUR / USD = EURUSD

XAU / USD = XAUUSD

ここで、変数のEUR、USD、XAUは資産の純粋な「価値」を表し、EURUSD、XAUUSDは定数(為替レートまたはクオート)です。

変数を求めるために、システムにもう1つの方程式を追加し、変数の平方の合計を1に制限します:

EUR*EUR + USD*USD + XAU*XAU = 1

これがインジケーターの名前「Unity」の由来です。

簡単な代入を行うと:

EURUSD*USD*EURUSD*USD + USD*USD + XAUUSD*USD*XAUUSD*USD = 1

すると、USDは次のように求められます:

USD = sqrt(1 / (1 + EURUSD*EURUSD + XAUUSD*XAUUSD))

他の変数もすべて計算できます。

一般的には:

x0 = sqrt(1 / (1 + sum(C(xi, x0)**2))), i = 1..n

xi = C(xi, x0) * x0, i = 1..n

ここで、nは変数の数、C(xi,x0)はi番目のペアのクオートです。変数の数は、インストゥルメントの数よりも1つ多いことに注意してください。

計算に関与する係数Cはクオートで通常非常に異なるため、インジケーターではこれらを契約サイズでさらに乗算します。これにより、より比較可能な値(少なくとも同じオーダーのもの)が得られます。インジケーターウィンドウにそれらを表示するためには、AbsoluteValuesという入力パラメータをtrueに設定する必要があります。デフォルトではfalseになっており、インジケーターは変数の増分を計算します:

yi = xi0 / xi1 - 1,

ここで、xi0とxi1はそれぞれ最後と前のバーの値です。

こちらがEURUSD、GBPUSD、USDCHF、USDJPY、AUDUSD、USDCAD、NZDUSD、XAUUSDのクラスタースクリーンショットです:

クラスターマルチ通貨インジケーター Unity, XAUUSD

クラスターマルチ通貨インジケーター Unity, XAUUSD

現在のチャート(この場合はXAUとUSD)の作業シンボルを構成するアセットのラインは太く表示され、他は細く表示されます。

インジケーターの主な入力パラメータは次のとおりです:

  • Instruments — カンマで区切られた作業シンボルの名前の文字列。すべてのインストゥルメントが共通の通貨(基準通貨またはクオート通貨)を持つ必要があります。
  • BarLimit — 計算に使用するバーの数。
  • Draw — 描画スタイル。
  • PriceType — 計算に使用する価格の種類。
  • SaveToFile —(オプション)インジケーターが外部プログラム(例えば、ニューラルネットワーク)で分析するために値をエクスポートするCSVファイルの名前。ファイルの構造は、最初の列が日付で、すべての後続の列が対応するインジケーターバッファの値です。
  • ShiftLastBuffer —(オプション)CSVファイルの形成モードを切り替えるためのフラグ。このオプションがfalseの場合、同じバーのデータが各行に保存され、列の数はインストゥルメントの数に、コンポーネントへのティッカーの分割により1つ増え、さらに1つ日付用の列が追加されます。オプションがtrueの場合、FORECASTという追加の列が作成され、最後のアセットの列の値が1バー先にシフトされて保存されます。これにより、各行には現在のバーのすべてのデータと次の変数の値が表示され、予測アルゴリズムに使用することができます。

推奨タイムフレームはD1以上です。

リスト
コメント 0