ダイバージェンステンプレートインジケーター - MetaTrader 4用の活用法

Mike 2024.03.10 23:41 14 0 0
添付ファイル

DivEurusd

テンプレートの使い方

このインジケーターは、希望する オシレーター に基づいてダイバージェンスをプロットするためのテンプレートを提供します。

選択するオシレーター(CCI、RSI、またはカスタムインジケーター)によって、このコードの一部を変更することができます:

   /////////////////////////////////////////////
   //インジケーターデータをバッファにロード
   //RSIを任意のインジケーターに置き換えることができます
   int BARS=MathMax(rates_total-IndicatorCounted()-pivots_period,1);
   for(int i=BARS;i>=0;i--)
   {
      indicatorBuffer[i]=iRSI(_Symbol, PERIOD_CURRENT, 14, PRICE_CLOSE, i);
   }
   //インジケーターのロードセクション終了
   /////////////////////////////////////////////

シグナルバッファ

このインジケーターには、生成されたシグナルを追跡するための4つの異なるバッファがあります。対応するバッファに非空の値が保持されるとき、シグナルが発生します。

   SetIndexBuffer(3,bull_reg_divBuffer);
   SetIndexBuffer(4,bear_reg_divBuffer);
   SetIndexBuffer(5,bull_hid_divBuffer);
   SetIndexBuffer(6,bear_hid_divBuffer);

入力セクション

input int pivots_period=5; //ピボットを見つける期間
input int alert_confirm_candles=1; //確認のためのキャンドル数 (0=アラート無効)

ピボットハイピボットローindicatorBuffer で見つけることは、pivots_period の入力に依存します。この値を大きく選ぶほど、大きなスイングを検索してダイバージェンスの可能性を探ります。

もう一つの入力である alert_confirm_candles は、シグナル確認のために待つバーの数を定義します。ダイバージェンスインジケーターは大抵遅れがちで、多くの誤シグナルを発生させるため、この値を大きく選ぶほど待機して、誤シグナルの数を減らすことができます。タイムリーなシグナルが欲しいのか、確認済みのものが欲しいのか、妥協が必要です。

通常、pivots_period < 2 に設定することはできません。

再描画の問題

ピボット計算に依存するインジケーターは、最近の高値/安値を確認するために pivots_period の期間を待つ必要があります。そのため、このインジケーターは pivots_period までのシグナルを再描画する必要があります。

   BARS=MathMax(rates_total-IndicatorCounted()-pivots_period,pivots_period);
   for(int i=BARS;i>=0;i--)
   {
      PHBuffer[i]=pivothigh(indicatorBuffer, pivots_period, pivots_period, i);
      PLBuffer[i]=pivotlow(indicatorBuffer, pivots_period, pivots_period, i);
      bull_reg_divBuffer[i]=BullRegDiv(i);
      bear_reg_divBuffer[i]=BearRegDiv(i);
      bull_hid_divBuffer[i]=BullHidDiv(i);
      bear_hid_divBuffer[i]=BearHidDiv(i);
   }
リスト
コメント 0