iGator 関数
この関数は、任意に設定したパラメータのGatorOscillator (ゲーターオシレータ) の値を計算して、その値を取得します。GatorOscillatorはオシレータ系のインジケータに分類されます。
GatorOscillator
GatorOscillator (ゲーターオシレータ) は、ビル・ウィリアムズが開発したテクニカル指標の1つで、2つのオシレータ (唇と歯) から構成され、相場が開始段階にあるときのトレンド方向を確認するために使われます。また、相場のトレンドの強さや逆転の可能性を表すこともできます。
GatorOscillatorは、Alligatorインジケータの3本の移動平均線の差をヒストグラムで表示します。この時、ヒストグラムが赤色であれば、アリゲーターが寝ている状態でトレンドが無いことを表します。ヒストグラムが緑色であれば、アリゲーターが起きている状態でトレンドが発生していることを表します。
GatorOscillator(ゲーターオシレータ)は、Alligatorとセットで使用することで、トレンドの方向や強さをより正確に把握することができます。
MT4でチャート上にGatorOscillatorをプロットする時はナビゲーター中のインディケータ → 「ビル・ウィリアムス」 → 「Gator Oscillator」インジケータを使用します。
(GatorOscillatorの計算式)
GatorOscillator (ゲーターオシレータ) は、Alligatorの3本の移動平均線の差をヒストグラムで表示させることになります。以下のように計算します。
上のヒストグラム = Alligatorの Jaw(顎) と Teeth(歯) の差の絶対値
下のヒストグラム = Alligatorの Teeth(歯) と Lips(唇) の差の絶対値
Jaw(顎) = 8期間先にシフトした、13期間の平滑移動平均(SMMA)
Teeth(歯) = 5期間先にシフトした、8期間の平滑移動平均(SMMA)
Lips(唇) = 3期間先にシフトした、5期間の平滑移動平均(SMMA)
各期間の数値と使用する移動平均の種類の設定は使用する通貨ペア、時間軸によって任意設定しても問題ないです。しかし、各期間の長さは、Jaw(顎) 長期、Teeth(歯) 中期、Lips(唇) 短期 にする必要があります。
GatorOscillatorは、Alligatorと同じパラメータを設定することで、相場の状況をより視覚的に把握することができます
(GatorOscillatorの使い方)
GatorOscillatorは、ヒストグラムの色や形でレンジかトレンドかを判定することができます。
①ワニが寝ている状態
上の棒も下の棒も赤色で、ヒストグラムが0に近い場合です。これは市場にトレンドがなく、レンジ相場であることを示しています。このときはエントリーを控えるか、短期的なスキャルピングを行うことができます。
②ワニが食べている状態
上の棒も下の棒も緑色で、ヒストグラムが0から離れている場合です。これは市場に強いトレンドがあることを示しています。このときは順張りのエントリーを狙うことができます。
③ワニが目覚めた状態
上の棒と下の棒の色が異なる場合です。これは市場にトレンドが始まりつつあることを示しています。ヒストグラムが上下に開いているほど、相場の勢いが強いことを示します。このときはトレンドに乗るチャンスです。
④ワニが飽きた状態
上の棒と下の棒の色が異なり、ヒストグラムが0に近づいている場合です。これは市場にトレンドが終わりかけていることを示しています。ヒストグラムが上下に収縮しているほど、相場の勢いが弱いことを示します。
データ型と構成・戻り値
double iGator(①, ②, ③, ④, ⑤, ⑥, ⑦, ⑧, ⑨, ⑩, ⑪, ⑫);
戻り値は、任意に設定したパラメータのGatorOscillatorの値を計算して、その値を返します。
引数 [12]
iGator関数は 12個の引数で構成されます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | symbol | string | - | - | 計算対象の通貨ペア名。 「NULL」は選択チャートの通貨ペア名が選択されます。 |
② | timeframe | int | - | - | 時間軸。ENUM_TIMEFRAMES 列挙値から選択。 「0」は現在チャートの時間軸が選択されます。 |
③ | jaw_period | int | - | - | Jaw(顎)の計算期間。Jaw(顎)を計算するバーの数を数値で設定します。 |
④ | jaw_shift | int | - | - | Jaw(顎)を右方向にシフトするバーの数。 指定したバーの数だけ移動平均線を右方向にずらして表示します。 |
⑤ | teeth_period | int | - | - | Teeth(歯)の計算期間。Teeth(歯)を計算するバーの数を数値で設定します。 |
⑥ | teeth_shift | int | - | - | Teeth(歯)を右方向にシフトするバーの数。 指定したバーの数だけ移動平均線を右方向にずらして表示します。 |
⑦ | lips_period | int | - | - | Lips(唇)の計算期間。Lips(唇)を計算するバーの数を数値で設定します。 |
⑧ | lips_shift | int | - | - | Lips(唇)を右方向にシフトするバーの数。 指定したバーの数だけ移動平均線を右方向にずらして表示します。 |
⑨ | ma_method | int | - | - | 移動平均の方法。 ENUM_MA_METHOD 列挙値から選択。 |
⑩ | applied_price | int | - | - | 適用価格。 ENUM_APPLIED_PRICE 列挙値から選択。 |
⑪ | mode | int | - | - | 結果で算出する線を選択。 iGator関数のインジケータライン識別子から選択。 |
⑫ | shift | int | - | - | GatorOscillatorの値を算出するバーの位置。 現在のバーから指定した時間軸のバー数だけ過去へシフトします。例えば、現在のバーからの計算は「0」、 1つ前のバーから計算する時は「1」になります。 |
使用例
iGator関数によるGatorOscillator値の取得
iGator関数を使って、現在のGatorOscillatorのヒストグラムの値(上ラインと下ライン)を取得します。計算するGatorOscillator値の各移動平均線は次の設定にします。
① Jaw(顎):8日間先にシフトした、13日間の平滑移動平均線
② Teeth(歯):5日間先にシフトした、8日間の平滑移動平均線
③ Lips(唇):3日間先にシフトした、5日間の平滑移動平均線
コード
// iGator関数によるGatorOscillator値の取得
#property strict
void OnInit() {
double line1 = iGator(NULL, 0, 13, 8, 8, 5, 5, 3, 2, 0, 1, 0); // 上ライン
double line2 = iGator(NULL, 0, 13, 8, 8, 5, 5, 3, 2, 0, 2, 0); // 下ライン
Print("下ライン:", line2);
Print("上ライン:", line1);
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)