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

ウェルチボリンジャーバンド幅 - MetaTrader 4用インジケーターの使い方

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

著者:

maj1es2tic (ティム・ウェルチ)

このインジケーターは、ボリンジャーバンドの現在の幅をN期間(WidthCalcPeriod)にわたる最大幅と最小幅と比較します。

計算されたパーセンテージがMinRangePercent以下の場合、ヒストグラムは緑色で表示されます。計算されたパーセンテージがMinRangePercentの2倍の場合、ヒストグラムは黄色になります。それ以外の場合は、ヒストグラムは赤色で表示されます。

これにより、通貨ペアがレンジ相場にあるのか、レンジをブレイクしようとしているのかを素早く確認できます。また、ShowWidthLineをtrueに設定すると、ボリンジャーバンドの実際の幅もPIPSで表示されます。これは4桁および5桁のブローカーで機能し、すべての通貨ペアで使用できます。

EAやカスタムインジケーター用にiCustomを使用して値を取得する方法:

以下のコードを使用して、外部から任意の値を取得できます:

int period=0; // どのくらい過去を見たいですか?0は現在のバー、1は前のバーなど。
              // この時点で、これらの3つのうちの1つだけが0より大きい値を持ちます。その値は300です。

double WelchBBWidth_Green = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 0, period);
double WelchBBWidth_Yellow = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 1, period);
double WelchBBWidth_Red = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 2, period);

// これにより、ボリンジャーバンドの実際の幅をPIPSで取得できます。
double WelchBBWidth = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 3, period);

// これにより、実際のボリンジャーバンドラインの値を取得できます。
double WelchBBWidth_MiddleLine = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 4, period);
double WelchBBWidth_UpperLine = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 5, period);
double WelchBBWidth_LoweLine = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 6, period); 

このようなコードをEAに組み込むことができます:

/*
* int areWeRanging(int period=0)
*
* GREENの場合は1を返す(レンジ中)
* YELLOWの場合は-1を返す(レンジの開始/終了)
* それ以外の場合は0を返す(レンジなし)
*/

int areWeRanging(int period=0) 
{
 double WelchBBWidth_Green = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 0, period);
 double WelchBBWidth_Yellow = iCustom(NULL, 0, "WelchBBWidth", 20, 0, 2.0, 20, "x", 100, "x", false, 1, period);

 if ( WelchBBWidth_Green > 0 ) 
 {
   return (1);
 } 
 else if ( WelchBBWidth_Yellow > 0) 
 {
   return (-1);
 }

 return (0);
}

// レンジから抜け出そうとしているか確認します。
// これは、最後のキャンドルがまだレンジ内にあったが、現在のキャンドルがレンジを抜け出していることを示します。
if ( areWeRanging(1)==1 && (areWeRanging(0)==-1 || areWeRanging(0)==0) ) 
 {
  Print("レンジ中でしたが、今はレンジを抜けました!他のインジケーターがブレイクアウトを確認したらトレードを行ってください!");
 }

** 提供されたコードはご自身の判断で使用してください。他のインジケーターの確認が取れた場合にのみ実際のトレードを行ってください。 **

画像:


*注意: ダークグレーの縦線と赤い矢印は、インジケーターとボリンジャーバンドの相関関係を示すために追加されたもので、チャートには表示されません。

楽しんでください!

-ティム

    関連記事

    コメント (0)