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

UltraCCI - MetaTrader 5用インジケーターの紹介

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

実作者:

dm34@mail.ru

UltraCCIは、CCI(商品チャネル指数)に基づくインジケーターで、複数の信号ラインのトレンド方向を分析します。信号ラインの計算アルゴリズムは以下の通りです。インジケーターの入力パラメーターは、以下のようなソースデータを持っています:

  • StartLength - 最初の信号ラインの最小初期値;
  • Step - 期間の変更ステップ;
  • StepsTotal - 期間変更の回数。

信号ラインの各期間値は、算術数列を用いて次のように計算されます:

SignalPeriod(Number)  =  StartLength + Number * Step

ここで、Number変数の値はゼロからStepsTotalまでの範囲です。得られた期間値は変数配列に追加され、各インジケーターのティックで使用され、スムージングされたRSIインジケーターの値の配列を取得します。各スムージングの現在のトレンド方向が計算され、CCIスムージング値全体の正と負のトレンドの数が決定されます。最終的な正と負のトレンド数もスムージングされ、DRAW_FILLINGスタイルクラスを使用して表示されるカラークラウドとして形成されます。

このインジケーターでのトレンド方向はクラウドの色によって決定され、その強さはクラウドの幅によって示されます。インジケーターの最大振幅からのパーセント値で設定される過剰買い(UpLevel)および過剰売り(DnLevel)レベルを使用することができます。

また、インジケーターはトレンド力の変化速度を示すカラー点の方向を決定する機能も提供します。トレンド力が増加する場合、これらの点の色はクラウドの色と一致し、そうでない場合は反対の色になります。

スムージングアルゴリズムは、以下の10のバージョンから選択できます:

  1. SMA - 単純移動平均;
  2. EMA - 指数移動平均;
  3. SMMA - スムージング移動平均;
  4. LWMA - 線形加重移動平均;
  5. JJMA - JMA適応平均;
  6. JurX - 超線形スムージング;
  7. ParMA - 放物線スムージング;
  8. T3 - ティルソンの多重指数スムージング;
  9. VIDYA - Tushar Chandeのアルゴリズムを使用したスムージング;
  10. AMA - Perry Kaufmanのアルゴリズムを使用したスムージング。

なお、異なるスムージングアルゴリズムに対するフェーズパラメータは全く異なる意味を持ちます。JMAの場合は、-100から+100まで変化する外部フェーズ変数です。T3の場合は視覚化を向上させるために100倍されるスムージング比率で、VIDYAの場合はCMOオシレーターの期間、AMAの場合は遅いEMAの期間です。他のアルゴリズムでは、これらのパラメータはスムージングには影響しません。AMAの早いEMA期間は固定値で、デフォルトでは2です。AMAの累乗比も2です。

このインジケーターは、SmoothAlgorithms.mqhライブラリクラスを使用しています(terminal_data_folder\MQL5\Includeにコピーする必要があります)。クラスの使用方法は、「追加バッファを使用しない中間計算のための価格系列の平均化」という記事で詳しく説明されています。

インジケーター入力パラメータ:

//+----------------------------------------------+
//| インジケーター入力パラメータ                   |
//+----------------------------------------------+
input int CCI_Period=13;                           // CCIインジケーター期間
input ENUM_APPLIED_PRICE Applied_price=PRICE_CLOSE; // 適用価格
//----
input Smooth_Method W_Method=MODE_JJMA;           // スムージング方法
input int StartLength=3;                          // 初期スムージング期間                    
input int WPhase=100;                             // スムージングパラメータ
//----  
input uint Step=5;                                // 期間変更ステップ
input uint StepsTotal=10;                         // 期間変更の回数
//----
input Smooth_Method SmoothMethod=MODE_JJMA;      // スムージング方法
input int SmoothLength=3;                        // スムージング深度
input int SmoothPhase=100;                       // スムージングパラメータ
//----                          
input uint UpLevel=80;                            // 過剰買いレベル, %%
input uint DnLevel=20;                            // 過剰売りレベル, %%
input color UpLevelsColor=DarkViolet;             // 過剰買いレベルの色
input color DnLevelsColor=DarkViolet;             // 過剰売りレベルの色
input STYLE Levelstyle=DASHDOTDOT_;              // レベルスタイル
input WIDTH LevelsWidth=Width_1;                 // レベル幅                       
//+----------------------------------------------+

UltraCCI

関連記事

コメント (0)