pineスクリプトでSMAを出してみよう!

6回目ではついにpineスクリプトの醍醐味であるインジケーターの関数に触れていきます。様々なインジケーターがありますが、やはり基本は移動平均線(moving average : MA)ですね。コロナのせいで新規患者数の指標に使われだしました。一定期間で上昇傾向にあるのか、下降傾向にあるのかなどがわかる優れた指標です。

移動平均線とは

文字通り、移動する平均を繋いだ線です。移動するとはどういうことかというと、平均値を出す期間が移動していきます。

統計的な平均とは、値を全部足して、個数で割ったもの。平均=総和/個数 です。

一般的にチャートに示すものは終値を使って書かれます。

この終値をいくつ使うか?というのが期間に相当し、ロウソク足が増えるたびに、計算に使われる終値の範囲が変わっていきます。

また、単純移動平均(SMA)と呼ばれるただ終値を足して個数で割ったものだけでなく、指数加重平均(EMA)のように、値に重みづけをすることで、平均値が現在値に対して鋭敏に反応するようにしたものもあります。

今回学ぶのは単純なほうでSMAです。

計算式を見てみよう!

本来であれば、ちょっと難しいコードを書くのですが、わかりやすさの為に、たくさん記述して何とか作ります。(笑)

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © FP嶋

//@version=5
indicator("単純移動平均")
sum = close + close[1] + close[2] + close[3] + close[4]
ave = sum/5
plot(ave, "average - 5", color = color.lime)

5期間のSMAを計算してみました! 終値を現在から4本前の値までを使って 5で割りました。

sum = では closeを1つずつ5回足しています。

ave = では sumの計算結果を 定数の5で割っています。

トレーディングビューではローソク足が更新される度に計算しますので、値はどんどんと変わっていきます。

これをplot()で表示したわけですね。

で、これはトレーディングビューにある関数を使うと1文で書くことが出来ます。

それが、「ta.sma()」関数

pineスクリプトv5では、インジケーターを記述する際、前にta.が入るようになりました。忘れずにつけましょう。

引数はta.sma(使う値,期間)です。 例を見てみましょう

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © FP嶋

//@version=5
indicator("単純移動平均")
plot(ta.sma(close,5), "average - 5close", color = color.red)
plot(ta.sma(high,5), "average - 5high", color = color.white)
plot(ta.sma(low,5), "average - 5low", color = color.blue)
plot(ta.sma(open,5), "average - 5open", color = color.lime)

直接plot()関数内で計算させています。

色分けしていて、赤が終値、白が高値、青が安値、緑が始値で作った5期間SMA

簡単に計算してくれましたね!

次回はSMAを複数使ってstrategyを組んでみましょう!

今回はこのへんで!やはり基本は移動平均線ですね!

おすすめFXアイテム

過去検証や分析はMT4かFT4、Trading viewがおすすめです。

無料が良い人はMT4で、MT4を使わせてくれる口座を使用すると良いです。おすすめはFXTF

ガチで過去検証をやりたい人はFT4、

チャート分析に毎月課金してもいいよって人はTrading viewがおすすめです。無料もあります

Twitterでフォローしよう

おすすめの記事