
photo: milos milosevic
当サイトで提供している独自インジケーター「双神斬」はフラクタルとフィボナッチを基礎理論においていることは繰り返しご紹介していますが、そもそもMT4における「フラクタルって何?」という疑問のある方も多いと思い、備忘録的にまとめておきます。
もともとのフラクタル、いわゆるマンデルブロ博士が唱えた幾何学的概念は、
厳密いうとテクニカル指標とは関係がありません。
テクニカル指標のフラクタルは「ロウソク足5本を使って天井と底を割り出す」ツールです。
数式にするとややこしいので、手を使って説明します。天井と底は逆にして考えてくださいね。
- 自分に右手の手のひらを向けて、親指が現在のロウソク足とします。
- 五本指の中では、たいてい中指が一番長い(高い)ですね。
- この五本指の長さの並びがロウソク足で完成すると「フラクタル」が発生します。
人間の脳は優秀なのでこれでパッとフラクタルのイメージが浮かびますが、
コンピュータは「図形」が苦手ですので、細かく設定しなくてはいけません。つまり
- 小指は薬指より短い
- 薬指は中指より短い
- 中指より人差し指が短い
- 人差し指より親指が短い
この条件を満たす必要があるということです。
プログラミングの時はこうした条件分岐で、統合、不等号などを使うことになりますが、
人間であれば、「もしロウソク足5本が手の指のような形になったらね」ですむのが、
下のような感じでだらだらとコードで説明してあげなくてはいけないわけです。あーなんて、めんどい。
if (High4 < High2 && High3 < High2 && High0 < High2 && High1 < High2) MAX=High2; if (Low4 > Low2 && Low3 > Low2 && Low0 > Low2 && Low1 > Low2)
Min=Low2;
MT4なら組み込み関数を使える
実際のところでは、MT4には「組み込み関数」といって、あらかじめルールが決まっている約束事があるので、
「MT4さん、いつものアレ頼むよ」とお願いすればいい場面も多いです。
フラクタルでも「iFractals」という組み込み関数を呼び出せば、フラクタルを表示してくれます。
- double iFractals(string symbol, int timeframe, int mode, int shift)
- symbol:計算したい通貨名。NULLを指定すると現在の通貨。
- timeframe:時間枠。0は現在の時間枠。
- mode:上向き(Upper)か下向き(Downer)か、インジケータの線指定。
- shift:現在のロウソク足から何本前の値を出すのか。
- double UpFra=iFractals(NULL, 0, MODE_UPPER, 0);
【項目の意味】(※doubleは倍精度、stringは文字列、intは整数)
【例】
ここまで、きて「あれ? 条件合わない時はiFractarlsってどうなるの?」という疑問が沸いてきますね。
5本足の発生条件に合わないとき、 iFractalsは0です。
参考までにiFractalsだけをサブチャートに書き出してみました。
サムズダウンがFractalダウナー発生ポイントで、サブチャートも山になっています。
計算値は発生時のレートが返ってきています。
ちょっとマニアックな内容になってしまいましたが、双神斬をより深く知ってもらえればと思ってまとめました。
iFractarlsについてもっと詳しく知りたい方へ
気ままにMT4:★インジケーター解説: 00-LineMan_v103.mq4
mt4 (MetaTrader4)使い倒シストレ:iFractals
テクニカル講座上級の部屋:ラインマン
辺りが記事がよくまとめられていて参考になります。
(MT4が難しいと感じた時は、「選ぶだけで自動売買できるシストレ」という方法もあります)
