Pine Script(Pineスクリプト)入門解説:目次
(1)概要
(2)plot関数
(3)change関数・iff関数
(4)input関数
(5)security関数、相関係数インジケータ
(6)fill関数
(7)bgcolor関数
(8)複数行を一括でコメントアウトできる?
(9)line.new関数・line.set関数、ピボット・インジケータ
(10)関数宣言(カスタム関数)、ピボット・ハイ・ロー・インジケータ
(11)ジグザグ(ZigZag)インジケータ
(12)平均足バー・マルチタイムフレーム(MTF)
(13)ストラテジー・バックテストの概要
(14)ストラテジー・サンプル「EMAクロス+固定TP/SL」
(15)ストラテジーの「最適化」をめぐるTradingViewとMetaTraderの違い
(16)Security関数のgapsとlookaheadとは?
(17)アラート条件の設定:alertcondition
(1)概要
(2)plot関数
(3)change関数・iff関数
(4)input関数
(5)security関数、相関係数インジケータ
(6)fill関数
(7)bgcolor関数
(8)複数行を一括でコメントアウトできる?
(9)line.new関数・line.set関数、ピボット・インジケータ
(10)関数宣言(カスタム関数)、ピボット・ハイ・ロー・インジケータ
(11)ジグザグ(ZigZag)インジケータ
(12)平均足バー・マルチタイムフレーム(MTF)
(13)ストラテジー・バックテストの概要
(14)ストラテジー・サンプル「EMAクロス+固定TP/SL」
(15)ストラテジーの「最適化」をめぐるTradingViewとMetaTraderの違い
(16)Security関数のgapsとlookaheadとは?
(17)アラート条件の設定:alertcondition
はじめに
前回に引き続き、TradingViewの独自言語「Pine Script」の基礎編として、今回は「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)))
結果、今回表示させたインジケータは、見た目は変わりませんが、インジケータの設定画面を開くと、以下のようにパラメータが変更できるようになりました。