2011年02月13日(日)
[MT5]移動平均DEMAとTEMA [MetaTrader5]
MQL5のプログラミングの記事が続いたので、今回はテクニカル指標について。
テクニカル指標と言っても、相変わらずの移動平均です。
以前の記事でDEMAという移動平均を紹介しました。
DEMAというのはDouble EMAの略ですが、単にEMAを2回かけるのではなく、EMAの結果と、EMAを2回かけた結果を使って平滑化するものでした。
MT5では、このDEMAという移動平均がテクニカル指標として組み込まれています。下図のようにメニューの[Insert]-[Indicators]-[Trend]-[Double Exponential Moving Average]を選択することでチャートに挿入することができます。
この指標のパラメータは、基本的には「期間=Period」だけです。
チャートへの挿入すると、こんな形で平滑化されます。
DEMAの説明がMetaquotes社のこちらのページに掲載されています。それを元に簡単に説明しておきます。
価格Price(通常は終値)に対してEMAをかけたものをEMA(Price)とします。期間NやEMAの位置iについては省略します。
そして、EMAと価格の差を
err = Price - EMA(Price)として求めます。さらに、errに対してEMAをかけたものをEMA(err)とすると、DEMAは、
DEMA = EMA(Price) + EMA(err)のように表せます。
ここで、errをPrice - EMA(Price)に置き換えると、
となり、EMAを2回かけた部分が出てきます。これが、Double EMAと呼ばれる理由です。DEMA = EMA(Price) + EMA(Price - EMA(Price))
= 2*EMA(Price) - EMA(EMA(Price))
MT5では、DEMAのバリエーションとしてTEMAという移動平均も組み込まれています。TEMAはTriple EMA の略ですが、考え方はDEMAとだいたい同じです。
Metaquotes社のサイトによると、TEMAは、DEMAを使って
TEMA = DEMA(Price) + EMA(err)のように表されます。またここでのerrにも
err = Price - DEMA(Price)のように価格とDEMAの差を使います。errとDEMAをそれぞれ置き換えていくと、
となります。結果的にEMAを3回かけたものまで使うので、トリプルEMAと呼ぶわけです。TEMA = DEMA(Price) + EMA(Price - DEMA(Price))
= 2*EMA(Price) - EMA(EMA(Price)) + EMA(Price - 2*EMA(Price) + EMA(EMA(Price)))
= 3*EMA(Price) - 3*EMA(EMA(Price)) + EMA(EMA(EMA(Price)))
下図は、TEMAをチャートに挿入した例です。DEMAを赤、TEMAを青いラインで表しています。
どちらも期間Periodは14と同じですが、TEMAの方がDEMAよりも追従性が高くなっているように見えます。この違いの分析についてはまた次回。
Posted at 16時10分