一目均衡表の値を取得 iIchimoku 関数

関数

テクニカルインジケータ関数

iIchimoku 関数

 この関数は、任意に設定したパラメータの一目均衡表の値を計算して、その値を取得します。一目均衡表はトレンド系のインジケータに分類されます。

一目均衡表

 一目均衡表とは、日本のトレーダーである森田研介氏が開発したテクニカル分析の指標で、価格のトレンドや転換点を見極めるために使用されます。主にロングトレンドの発生を探るために用いられ、トレンドフォロー型(順張り型)のテクニカル分析に分類されます。

 一目均衡表には、複数の線が含まれています。最も基本的な線は「転換線」と呼ばれるもので、最高値と最安値の平均値を取り、9本先まで移動した線を表します。さらに、転換線をもとにして、「基準線」「先行スパンA」「先行スパンB」などの線が計算されます。これらの線が重なることで、価格のトレンドの確認をします。

MT4でチャート上に一目均衡表をプロットする時はナビゲーター中のインディケータ → 「Ichimoku」インジケータを使用します。

(一目均衡表の計算式)

 一目均衡表は、以下の5本の線を含みます。

転換線:(9日間の最高値 + 9日間の最安値) ÷ 2 を計算し、その値を26日間分求め、平均をとったものです。
基準線:(26日間の最高値 + 26日間の最安値) ÷ 2 を計算し、その値を26日間分求め、平均をとったものです。
先行スパンA:(転換線 + 基準線) ÷ 2 を、26日先までずらしたものです。
先行スパンB:(52日間の最高値 + 52日間の最安値) ÷ 2 を、26日先までずらしたものです。
遅行スパン:現在の終値を26日先にずらしたものです。

 それぞれの線を計算するために必要な日数や値の種類は、テクニカルアナリストやトレーダーによって異なる場合があります。

(一目均衡表の使い方)

 一目均衡表は、FX市場のトレンドの方向性や強弱、サポート・レジスタンスラインを示すテクニカル指標の一つです。一目均衡表には5つの線がありますが、その中でも特に注目されるのは、転換線、基準線、先行スパンA、先行スパンBです。

 一目均衡表の基準線と転換線は、移動平均線に似た役割を持ちます。基準線は、過去26日間(日足チャートを使用している場合)の高値と安値を合計し、2で割って出された平均値です。転換線は、過去9日間の高値と安値を合計し、2で割って出された平均値です。これらの線のクロスや価格との関係から、トレンドの転換を捉えることができます。

 また、先行スパンAと先行スパンBは、現在の価格を基準に、過去の価格を一定期間前にずらしてプロットしたものです。先行スパンAは、転換線と基準線の平均値を26日間前にずらして表示し、レジスタンスやサポートラインとして使用されます。先行スパンBは、過去52日間の高値と安値を合計して2で割った値を26日間前にずらしたものです。これは、中期的なトレンドの強さや方向性を示し、将来的な価格の変動の可能性を予測するために使用されます。

 一目均衡表は、複数の期間を比較してトレンドの方向性を把握することができるため、長期的な投資や中長期のトレードに役立ちます。しかし、短期的なトレードやスキャルピングにはあまり適していないとされています。

データ型と構成・戻り値

double iIchimoku(①, ②, ③, ④, ⑤, ⑥, ⑦);

 戻り値は、任意に設定したパラメータの一目均衡表の値を計算して、その値を返します。

引数 [7]

 iIchimoku関数は 7個の引数で構成されます。


引数名データ型単位初期値説明
symbolstring計算対象の通貨ペア名。
「NULL」は選択チャートの通貨ペア名が選択されます。
timeframeint時間軸。ENUM_TIMEFRAMES 列挙値から選択。
「0」は現在チャートの時間軸が選択されます。
tenkan_senint転換線の計算期間。転換線を計算するバーの数を数値で設定します。
kijun_senint基準線の計算期間。基準線を計算するバーの数を数値で設定します。
senkou_span_bint先行スパンBの計算期間。先行スパンBを計算するバーの数を数値で設定します。
modeint5本の線の内、結果で算出する線を選択。
iIchimoku関数の一目均衡表識別子から選択。
shiftint一目均衡表の値を算出するバーの位置。
現在のバーから指定した時間軸のバー数だけ過去へシフトします。例えば、現在のバーからの計算は「0」、 1つ前のバーから計算する時は「1」になります。

使用例

iIchimoku関数による一目均衡表の値の計算

 iIchimoku関数を使って①転換線 ②基準線 ③先行スパンA ④先行スパンB ⑤遅行線 の値を次の条件でそれぞれ算出します。

転換線の計算期間:14日間
基準線の計算期間:26日間
先行スパンBの計算期間:52日間

コード

iIchimoku関数による一目均衡表の値の計算
#property strict
void OnInit() {

   int c_period = 14; // 転換線の計算期間
   int b_period = 26; // 基準線の計算期間
   int s_period = 52; // 先行スパンBの計算期間
   
   double a = iIchimoku(NULL, 0, c_period, b_period, s_period, 1, 0);
   double b = iIchimoku(NULL, 0, c_period, b_period, s_period, 2, 0);
   double c = iIchimoku(NULL, 0, c_period, b_period, s_period, 3, 0);
   double d = iIchimoku(NULL, 0, c_period, b_period, s_period, 4, 0);
   double e = iIchimoku(NULL, 0, c_period, b_period, s_period, 5, 26);
  
   Print("一目均衡表 遅行線:", e);
   Print("一目均衡表 先行スパンB:", d);
   Print("一目均衡表 先行スパンA:", c);
   Print("一目均衡表 基準線:", b);
   Print("一目均衡表 転換線:", a);
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)

結果

タイトルとURLをコピーしました