見出し画像

input関数で移動平均線の期間を自由に変えてみる

前回のnoteで移動平均線を軽く解説しました。
https://note.com/hiajiemka9/n/ne67a608c4655
Pineスクリプトというプログラミング言語でTradingViewにインジケーターやストラテジーを作成する時は、Pineエディタにsma関数でsma(データ値, 期間)と書くことによって移動平均を算出することができます。
ちなみにplot関数を使うとチャートに表示させることもできます。
例:
SMA = sma(close, 25) 意味:SMA=25日移動平均線だよ
plot(SMA,color=color.white) 意味:SMAを白い線でチャートに書くよ

しかし期間を25日じゃなくて75日にしたい、と考える時もありますよね。
そういう時に使えるのがinput関数です。

input関数とは

公式によると『スクリプトインジケーターに入力を追加。ユーザーはスクリプトスタディのオブジェクトダイアログのフォーマットに入力することで、表示や編集を行うことができます。入力されたスクリプトはビルトインされたテクニカル分析インジケーターと同様にしっかりと表示され稼働します。』とてもわかりにくいですね。

簡単に言うと、input関数で定義した値は、インジケーターのコードを弄らなくても簡単に数値変更出来るようになるよ、ということです。

まずはインジケーターを書いてみよう

TradingViewのチャートからPineエディタ⇒開く⇒新規の空のインジケーターまでクリックすると、以下のコードが出ます。

画像1

下記のコードに書き換えます。

//@version=4 
study(title="tamesi", overlay=true)
kikan=input(defval=5,minval=1,maxval=200,title="期間")
SMA = sma(close,kikan)
plot(SMA)


1行ずつ簡単に解説

study(title="tamesi", overlay=true)

ここはコピペでいいです。"tamesi"の部分はチャートに表示されるインジケーターまたはストラテジーの名前を入れます。

kikan=input(defval=5,minval=1,maxval=200,title="期間")

input関数で定義した値をkikanにしています。
defval→デフォルトの値 minval→最小値 maxval→最大値という意味です。
title="期間"とはパラメーターの項目名を『期間』にするよって意味です。

SMA = sma(close,kikan)

sma(データ値, 期間)で移動平均線を算出できると言いましたね。この算出された移動平均線=SMAだよって意味です。
先に書いたコードでinput関数で定義した値=kikanにしているので、期間と書く部分にはkikanを入れています。

plot(SMA)

SMAをチャートに表示するよって意味です。

確認してみる

保存してチャートに追加してみます。
チャートに入っている青い線が、sma関数で算出した移動平均線です。
黄枠で囲まれたところを押すと「tamesi」というポップアップが出てきます。これがinput関数で作ったパラメーターです。
デフォルト数値が5になっていて、1~200まで自由に数字を弄れます。

画像2

このパラメーターの数値を変えるだけで、5日移動平均線も100日移動平均線も自由に表示させることができるようになりました。

長くなってしまったので、時間がある時に今度は『5日移動平均線と25日移動平均線のゴールデンクロスorデッドクロスでエントリーするストラテジー』と、今回作った『移動平均線の期間を自由に変えるインジケーター』を組み合わせてみたいと思います。

この記事が気に入ったらサポートをしてみませんか?