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

MAを基にした通貨強度インジケーター - MetaTrader 4用インジケーター

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

お知らせ: 2020年3月30日の新しいアップデート - さまざまなプレフィックス/インフィックス/ポスフィックスを持つブローカーのサポートを追加しました。詳細な説明は下にスクロールしてください。

説明

例えば、EURUSDが上昇トレンドにあると判断した場合、EURがどれだけ強くなっているのか、USDがどれだけ弱くなっているのかを知りたいですよね。同様に、CADJPYが下降トレンドにある場合、CADがどれだけ弱くなっているのか、JPYがどれだけ強くなっているのかを確認したいと思います。

通貨の強さや弱さを測る簡単な方法は、複数の通貨ペアを見て、それぞれのペアで各通貨がどのような役割を果たしているのかを集計することです。例えば、CADが含まれるすべてのペアでCADが強くなっている回数を知ることは非常に有意義です。

取引される通貨が多くあるため、まずは主要な8つの通貨(USD、EUR、GBP、CHF、AUD、CAD、JPY、NZD)に絞り、これらの通貨の組み合わせから28ペアに集中するのが賢明です。

このインジケーターは、28ペアをスキャンし、それぞれのペアにおける強い通貨と弱い通貨を特定し、その数を集計して表示します。つまり、各通貨が強くなっている回数と弱くなっている回数を示します。

通貨強度表示

上のスクリーンショットから、USDが強くなり、AUDが弱くなっていることが簡単にわかります。そのため、AUDUSDは最大のモメンタムで南に向かっています!

このインジケーターは、選択したタイムフレームで監視すべきペアを一目で確認できる簡単な方法を提供します。

入力

ユーザーが設定できる入力は以下の通りです:

通貨強度入力

これらの入力は、移動平均のプロパティを変更することを可能にし、インジケーターはローソク足のクローズと移動平均を比較してトレンドを判断します。2020年3月30日にアップロードされたアップデートでは、シンボル名の前後に追加の文字(例:'+'や'.')を付けるブローカーのサポートが追加されました。また、一部のブローカーは小文字を使用しています。したがって、「EURUSDの完全なシンボル名」を正確に入力するだけで済みます。例えば「cEuRuSd.」や「eUR_USd++」など(すべての可能性を考慮しています...笑)。この新しいバージョンはそれに対応できるはずです。

このインジケーターをEA、他のインジケーター、またはスクリプトから呼び出すには、次の関数を使用できます:

bool GetCSBuffer(int tf, int bar, string currency, int &numBulls, int &numBears)
{
   string name = "MACurrencyStrength";
   string Cs[] = { "USD", "EUR", "GBP", "CHF", "AUD", "CAD", "JPY", "NZD" };
   int numCs = ArraySize(Cs);
   for (int i=0; i<numCs; i++)
   {
      if (Cs[i]==currency)
      {
         numBulls = int(iCustom(Symbol(),tf,name,i*3,bar)) - (numCs-i-1)*numCs;
         numBears = int(iCustom(Symbol(),tf,name,(i*3)+1,bar)) - (numCs-i-1)*numCs;
         numBulls = numBulls - numBears;
         return (true);
      }
   }
   return (false);
}

そして、GetCSBuffer()関数を使用する例は次の通りです:

      int bar = 1; // ユーザーはこれを変更可能。
      string c = "USD"; // ユーザーはこれを変更可能ですが、8つの通貨の1つでなければなりません。
      int numBulls, numBears;
      if (GetCSBuffer(Period(),bar,c,numBulls,numBears))
         Print ("Bulls = ", numBulls, ", Bears = ", numBears);

このインジケーターを使用する際は、ターミナルのエキスパートタブに注意して、エラーメッセージが表示されていないか確認してください。

最後に、より冒険心のある方には、GetTrend()関数を再構築することができます(ただし、同じパラメータを受け取り、同じ値範囲(つまり、上昇は1、下降は-1)を返すことを確認してください)。異なる基準を使用してトレンドを判断できるようになります。もちろん、一部の変更には入力パラメータの更新が必要になりますが、特に複雑なことではありません。プログラミングの基本的な知識があれば、自分自身のインジケーターをカスタマイズできるでしょう。

楽しんでください!

関連記事

コメント (0)