著者:
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("レンジ中でしたが、今はレンジを抜けました!他のインジケーターがブレイクアウトを確認したらトレードを行ってください!"); }
** 提供されたコードはご自身の判断で使用してください。他のインジケーターの確認が取れた場合にのみ実際のトレードを行ってください。 **
画像:

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