皆さん、こんにちは!今日はMetaTrader 5で使えるCandle_Codeインジケーターをご紹介します。このインジケーターは、別ウィンドウにキャンドルスティックの「コード」を表示し、それぞれのキャンドルのパラメーター比率に基づいてラインを構築します。キャンドルスティックの各パラメーターは、全体のキャンドル表示において異なる重みを持っています。
キャンドルスティックのパラメーター
- キャンドルボディのサイズ;
- 上ヒゲのサイズ;
- 下ヒゲのサイズ;
- キャンドルの方向;
- 隣接するキャンドルとのギャップ(現在のものと前のもの)。
もしパラメーターの重みが平均レンジの2倍を超える場合、その重みがそのまま適用されます。そうでない場合は、一般的なキャンドル表示における重みは、その重みとパラメーター範囲を掛け算し、2倍の平均レンジで割ったものになります。
そして、各キャンドルの計算データに基づいて、移動平均(Weights Data)が作成され、過去のキャンドルデータをチャートに表示します(このラインはデフォルトで無効です)。その後、このラインはスムージングされ、主なインジケーターライン(Primary MA)が表示されます。二次インジケーターライン(Secondary MA)は、主なものをスムージングして作成されます。
インジケーターの入力パラメーター
このインジケーターには、10個の入力パラメーターがあります:
- ボディサイズ重み - キャンドルボディの重み;
- 上ヒゲ重み - 上ヒゲの重み;
- 下ヒゲ重み - 下ヒゲの重み;
- キャンドル方向重み - キャンドルの方向(上昇/下降)の重み;
- ギャップ重み - 隣接するキャンドル間の距離の重み;
- 重みデータラインを表示 - 各キャンドルの計算された重みデータのラインを表示するかどうか(はい/いいえ);
- 第一次MA期間 - キャンドル重みに基づく第一次スムージング移動平均の計算期間;
- 第一次MA方法 - 第一次移動平均の計算方法;
- 第二次MA期間 - 第一次MAのデータに基づく第二次スムージング移動平均の計算期間;
- 第二次MA方法 - 第二次移動平均の計算方法。
キャンドルボディ重みの計算例
もし Abs(Open-Close) >= Avg(Open-Close) の場合
BodySize = BodyWeight
そうでない場合
BodySize = BodyWeight * (Abs(Open-Close)) / Avg(Open-Close)
ここで:
Abs(Open-Close) = キャンドルボディの絶対サイズ Avg(Open-Close) = 過去のデータ期間におけるキャンドルボディの平均サイズ BodyWeight = パラメーターで定義されたキャンドルボディの重み

Fig 1. デフォルトの重み。

Fig. 2. キャンドル方向の重み = 512

Figure 2. デフォルトの重み、データ表示 = はい