iForce 関数
この関数は、任意に設定したパラメータのForce Index (勢い指数) の値を計算して、その値を取得します。Force Indexはオシレータ系のインジケータに分類されます。
Force Index
Force Index (フォースインデックス [勢い指数]) は、相場の価格、変化量、取引量から相場の勢いを判断する指標です。
Force Indexは、上昇トレンド中の場合、プラスの値を示し、下降トレンド中の場合、マイナスの値を示します。また、Force Indexが 0を超えた場合、買いのシグナルになります。一方、Force Indexが 0未満になった場合、売りのシグナルになります。
MT4でチャート上にForce Indexをプロットする時はナビゲーター中のインディケータ → 「オシレーター」 → 「Force Index」インジケータを使用します。
(Force Indexの計算式)
Force Indexの計算方法は、以下のとおりです。
Force Index = Fの N期間の移動平均
F = 対象のバーの出来高 × (対象のバーの終値 - 1つ前のバーの終値)
N:期間。通常、日足チャートの場合、13日間が使用されます。
Force Indexでは、移動平均には単純移動平均 (SMA) が使われることが一般的です。ただし、トレーダーによっては、指数平滑移動平均 (EMA) を使う場合もあります。
(Force Indexの使い方)
Force Indexは、相場がどれだけ強気あるいは弱気であるかを示す指標で、使い方としては、価格の上昇や下落のトレンドとForce Indexの動きを比較することで、相場の勢いや反転の兆候を見つけることができます。
①価格の上昇トレンド中にForce Indexが上昇している場合、相場の上昇勢いが強まっていることを示し、価格の下落トレンド中にForce Indexが下落している場合は、相場の下落勢いが強まっていることを示します。
②価格の上昇トレンド中にForce Indexが下落している場合は、相場の上昇勢いが弱まってきている可能性があり、価格の下落トレンド中にForce Indexが上昇している場合は、相場の下落勢いが弱まってきている可能性があります。
③Force Indexが 0ラインを上抜けた場合は、強気トレンドが始まった可能性があり買いシグナル、逆に 0ラインを下抜けた場合は、弱気トレンドが始まった可能性があり売りシグナルと見ることができます。
データ型と構成・戻り値
double iForce(①, ②, ③, ④, ⑤, ⑥);
戻り値は、任意に設定したパラメータのForce Indexの値を計算して、その値を返します。
引数 [6]
iForce関数は 6個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | symbol | string | - | - | 計算対象の通貨ペア名。 「NULL」は選択チャートの通貨ペア名が選択されます。 |
② | timeframe | int | - | - | 時間軸。ENUM_TIMEFRAMES 列挙値から選択。 「0」は現在チャートの時間軸が選択されます。 |
③ | period | int | - | - | Force Indexの計算期間。Force Indexを計算するバーの数を数値で設定します。 |
⑨ | ma_method | int | - | - | 移動平均の方法。 ENUM_MA_METHOD 列挙値から選択。 |
⑩ | applied_price | int | - | - | 適用価格。 ENUM_APPLIED_PRICE 列挙値から選択。 |
⑫ | shift | int | - | - | Force Indexの値を算出するバーの位置。 現在のバーから指定した時間軸のバー数だけ過去へシフトします。たとえば、現在のバーからの計算は「0」、 1つ前のバーから計算する時は「1」になります。 |
使用例
iForce関数による直近のForce Index値の計算
iForce関数を使って、現在のForce Index値を計算します。
コード
// iForce関数による直近のForce Index値の計算
#property strict
void OnInit() {
double F = iForce(NULL, 0, 13, 0, 0, 0);
Print("Force Index値:", F);
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)