1. フィボナッチリトレースメントとは?
フィボナッチリトレースメントとは、フィボナッチ比率と呼ばれる比率を用いて、価格の転換点となる水準を分析するのに有用なテクニカル指標です。
相場はトレンドが発生している場合でも、直線的に上昇や下降をするのではなく、一時的にトレンドと逆方向に「押し目」や「戻し」をつけながら動きます。
価格が「どこまで戻すのか」を推測する判断基準に使われるのがフィボナッチリトレースメントです。
2. フィボナッチリトレースメントの値を取得しよう。
フィボナッチリトレースメントの値を取得するためには、フィボナッチリトレースメントの頂点の値と底の値の2点を取得する必要があります。(下記画像の赤丸部分)
この2点の値を取得するには、この記事を参照して下さい。
この2点の値が分かっていれば、フィボナッチリトレースメントの値を取得するのは難しくありません。ここからはプログラミングの話というより、数学の話です。
ここで例題です。これが出来たら、理解できます。
例題
A点が150円、B点が100円のとき、AB間の50%に位置するC点の価格はいくら?
出来ましたか?答えは125円です。
この回答を導く式は、「150円-(150円-100円)×0.5 = 125円」
この式でC点の価格を出すことが出来ました。MQLでも同じです。
プログラミング言語で書くとこうなります。
C点の価格=A点の価格-(A点の価格-B点の価格)*フィボナッチ・レベル
※ 「=」はプログラミングでは、右辺の値を左辺に代入するという意味です。
※ 「*」はプログラミングでは、乗算(掛け算)です。
この式は先程の例題に乗っ取り、上昇時(安値から高値へ)の式です。
下降時(高値から安値へ)の式では、こうなります。
C点の価格=B点の価格+(A点の価格-B点の価格)*フィボナッチ・レベル
2-1. 上昇時(安値から高値へ)の値を取得
A点が0%、B点が100%の時の、38.2%の値、61.8%の値を取得する。
double fibonacci1 = A-(A-B)*0.382; //38.2%の値
double fibonacci2 = A-(A-B)*0.618; //61.8%の値
2-2. 下降時(高値から安値へ)の値を取得
A点が100%、B点が0%の時の、38.2%の値、61.8%の値を取得する。
double fibonacci3 = B+(A-B)*0.382; //38.2%の値
double fibonacci4 = B+(A-B)*0.618; //61.8%の値
3. まとめ
今回は、MQLの書き方というよりも数学の話になりました。
頂点と底の2点の値が分かれば、あとはdouble型の変数を用意してそこに計算した値を代入するという形です。
最後に、ここまでの記事の内容をまとめておきます。
- フィボナッチリトレースメントの0%の値と100%の値を取得する。
- 上昇時では、「フィボナッチ・レベルの価格=0%の価格-(0%の価格-100%の価格)*フィボナッチ・レベル」で値を算出し、取得する。
- 下降時では、「フィボナッチ・レベルの価格=0%の価格+(100%の価格-0%の価格)*フィボナッチ・レベル」で値を算出し、取得する。