スポンサーリンク

だれでも自作インジケータが作れる「Pine Script(Pineスクリプト)」入門ガイド(4)input関数

はじめに

今回は、前回作成したMACDインジケータについて、今回のinput関数を使うことで、MACDやシグナルの期間のパラメータを後で変更できるようにします。

前回のMACDインジケータ

前回は、change関数とiff関数を使うことで、以下のようにMACDインジケータのヒストグラムの配色を改良しました。

↑MACDとしては、すでに使えそうですね。

しかし、インジケータの設定画面を開くと、以下のように色などを変更できるだけで、MACDやシグナルの期間を変更することができません。今回は、これらのパラメータの変更ができるように改良します。

input関数

input関数

input関数は、インジケータ設定の入力項目として変更できる変数を設定します。
input(defval, title, type)

たとえば、
input(title=”On/Off”, type=input.bool, defval=true)
と設定すると、タイトルは”On/Off”、ブーリアン型(trueとfalse)の変数で、デフォルトはtrueとなり、この設定はインジケータの設定画面で変更することができます。

インジケータのパラメータ入力項目を設定

前回記事のサンプルで描画したMACDに対して、上記のinput関数を利用して、MACDのパラメータを後で変更できるように変更してみたいと思います。

前回のスクリプトは以下の通りです。

//@version=4
study(“MACD”)
fast = 12, slow = 26
fastMA = ema(close, fast)
slowMA = ema(close, slow)
macd = fastMA – slowMA
signal = sma(macd, 9)
plot(macd, color=color.blue)
plot(signal, color=color.orange)
hist = macd – signal
plot(hist, style = plot.style_histogram, linewidth = 4,
color = iff(macd >= signal,
iff(change(hist) >= 0, #3DA69A, #B6DFDB),
iff(change(hist) <= 0, #E6544B, #FBCDD2)))

今回は、下記の通り、前回のスクリプトを変更します。(赤字が変更した部分です。)

//@version=4
study(“MACD”)
fast = input(12), slow = input(26), signalperiod = input(9)
fastMA = ema(close, fast)
slowMA = ema(close, slow)
macd = fastMA – slowMA
signal = sma(macd, signalperiod )
plot(macd, color=color.blue)
plot(signal, color=color.orange)
hist = macd – signal
plot(hist, style = plot.style_histogram, linewidth = 4,
color = iff(macd >= signal,
iff(change(hist) >= 0, #3DA69A, #B6DFDB),
iff(change(hist) <= 0, #E6544B, #FBCDD2)))

 

結果、今回表示させたインジケータは、見た目は変わりませんが、インジケータの設定画面を開くと、以下のようにパラメータが変更できるようになりました。

タイトルとURLをコピーしました