フラクタル適応型移動平均(Fractal Adaptive Moving Average、FRAMA)は John Ehlers によって開発されました。この指標は、平滑化係数が現在の価格シリーズのフラクタル次元に基づいて計算された指数移動平均のアルゴリズムに基づいて構築されています。FRAMAには、強いトレンドの動きに従い、価格の動きが緩やかになる時に十分に速度を落とすという優位性があります。
移動平均に使われる全ての分析方法は、この指標にも適応可能です。
この指標の売買シグナルはMQL5Wizardでエキスパートアドバイザーを作成してテストすることが出来ます。 |
---|
FRAMA(i) = A(i) * 価格(i) + (1 - A(i)) * FRAMA(i-1)
ここで
FRAMA(i) — FRAMAの現在値
価格(i) — 現在の価格;
FRAMA(i-1) — 1つ前の FRAMAの値
A(i) — 現在の指数平滑係数 です。
指数平滑係数は次の式で計算されます。
A(i) = EXP(-4.6 * (D(i) -1))
ここで
D(i) — 現在のフラクタル次元
EXP() — 指数関数 です。
直線のフラクタル次元は1です。D = 1の場合、 A = EXP(-4.6 *(1-1)) = EXP(0) = 1です。よって、価格変化が直線の場合、下記の式により、指数平滑は適応されません。
FRAMA(i) =1* 価格(i) + (1 —1) * FRAMA(i—1) = 価格(i)
つまり、この指標は厳密に価格に従います。
平面のフラクタル次元は2です。D = 2の場合、平滑化係数は A = EXP(-4.6*(2-1)) = EXP(-4.6) = 0.01 です。このような小さな指数平滑係数は、価格が強いノコギリ状の動きをした時、瞬間的に得られます。強い減速は、200 単純移動平均線に近似されます。
フラクタル次元の公式は下記です。
D = (LOG(N1 + N2) - LOG(N3))/LOG(2)
これは次の追加公式によって計算されます。
N(Length,i) = (Highest価格(i) - Lowest価格(i))/Length
ここで
Highest価格(i) — Length期間の最高値
Lowest価格(i) — Length期間の最安値
N1、N2 及び N3は、それぞれ下記の通りです。
N1(i) = N(Length,i)
N2(i) = N(Length,i + Length)
N3(i) = N(2 * Length,i)