Pineスクリプト(Pine Script)を作成してTradingViewのチャートに表示する方法
ここからいよいよ実際にPineエディタを使い、簡単なインジケーターのPineスクリプトを作成して、それをチャートに表示するところまで行います。
3本の移動平均線を表示するインジケーターを例にします。
1.Pineエディタの起動
最初にPineエディタの起動です。
チャート画面の右下を見てください。
「 ^ 」このようなマークが見つかると思います。
これをクリックしパネルを開きます。
このパネルには、株式スクリーナー、Pineエディタ、ストラテジーテスター、トレードパネルがありますので、下図のPineエディタを選んでください。
2.Pineスクリプトの書き方 インジケーター
初めてPineエディタを開くと下図のように、あらかじめ数行記載されたスクリプトが表示されます。
ここで重要なのは3点です。
① //@version=5
4行目、使用するPineスクリプトのバージョンを指定します。
② indicator(“マイスクリプト”)
5行目、インジケーターとストラテジーどちらを作るのかを宣言します。
本節ではインジケーターですのでindicator()、”マイスクリプト”の部分には、作成されるインジケーターの名前を入力します。
メインチャートに表示するかなども指定します。
③ Plot( )
6行目、Plot()は( )内の内容を書き出す、チャートに描くための命令です。
ここではPlot(close)となっているので終値で書き出す命令となります。
実際に作成するときは、このPlot関数の前に色々な計算式を書くことになります。
チャートに計算結果をプロットするときの色や、線の太さなども指定します。
3.Pineスクリプトの実例と解説
ここからは3本の移動平均線を表示するスクリプト(※)を例に説明していきます。
このスクリプトの機能は以下の機能を持っています。
- 3本の移動平均線を表示できる。
- 移動平均線の種類はSMAとEMAが選択できる。
- 移動平均線の期間は自由に設定できる。
このスクリプトの構成は、2.で紹介しましたように以下の3つが含まれています。
- ① //@version=5
- ② indicator(“マイスクリプト”)
- …
- 様々な計算式
- ③ Plot( )
②indicator(“マイスクリプト”)と③Plot( )の間には、Plot関数で表示させたい様々な計算式が追加されていて、その結果として③のPlot関数で移動平均線がプロットされる動作をしています。
このインジケーターでは移動平均線の計算式(ta.emaやta.sma)や、移動平均線の期間の初期値設定が追加されています。
スクリプトは下図のところから保存ができます。
Pineエディタの左下のアイコンから、下部にコンソール(システムのメッセージを表示する欄)を表示することができます。
保存するときにはスクリプトにエラーがないかもチェックされるので、問題なく保存されたかコンソールを確認してください。
エラーがあるときは、下図のように色が変わり教えてくれます。
今回のエラーは1カ所でしたが、もし複数のエラーがある場合は、必ず上の行のエラーから修正を進めてください。
たくさんエラーが出ていても、それは手前の方のミスが原因で関連したエラーが出ている場合が多くあります。
またこの欄は、エラーだけでなく、動作はするがで最適ではない書き方をしているときも情報を表示してくれますので、よく注意して確認してみてください。
4.チャートにインジケーターを表示する
ここまででスクリプトの準備ができましたので、チャートにインジケーター「3MA」を入れてみましょう。
ここはすごく簡単です、以下のように「チャートに追加」を押してください。
チャートにインジケーターが追加されて3本の移動平均線が表示されます。
また、画面左上には、チャートに追加した各インジケーター名が表示されます。
インジケーター名の右側の歯車マークを押すと、インジケーターの設定変更をすることもできます。
以上で、チャートに3MAインジケーターを表示することができました。
20行にも満たないスクリプトですが、自分だけの移動平均線のセットなどをこれをもとに作成できますので、GMMAなど興味のある方は是非試してみてください。
次回は、今回のインジケーター「3MA」を少し発展させて下図のようなインジケーターにしていきます。
表示の装飾、移動平均線に判定式の追加、アラートの組み込みをしながら、移動平均線のインジケーターを完成させていきます。
例えば簡単な判定式を入れるだけでも、図のようにパーフェクトオーダー(3本の移動平均線の方向がそろった上で、短期・中期・長期の順で並んだ状態。トレンド発生のサインのひとつ)の成立を、背景色で察知することができたりします。
また同時にアラートを送ることもできます。
特にアラート機能は、チャートの監視から解放されるため実用性が高いので、活用していただければと思います。
5.参考スクリプト
インジケーター名:3MA
機能:- 3本の移動平均線を表示できる。
- 移動平均線の種類はSMAとEMAが選択できる。
- 移動平均線の期間は自由に設定できる。
//@version=5
indicator('3MA', overlay=true)
//MAを描画する========================
price = input(close)
MAMethod = input.string(title='MAの種類', defval='EMA', options=['EMA', 'SMA'])
ma_plt1 = input.int(title='短期MA', defval=20, minval=1, maxval=1000)
ma_plt2 = input.int(title='中期MA', defval=75, minval=1, maxval=1000)
ma_plt3 = input.int(title='長期MA', defval=215, minval=1, maxval=1000)
ma1 = MAMethod == 'EMA' ? ta.ema(close, ma_plt1) : ta.sma(close, ma_plt1)
ma2 = MAMethod == 'EMA' ? ta.ema(close, ma_plt2) : ta.sma(close, ma_plt2)
ma3 = MAMethod == 'EMA' ? ta.ema(close, ma_plt3) : ta.sma(close, ma_plt3)
plt1 = plot(ma1, color=color.new(#32cd32, 0), linewidth=2)
plt2 = plot(ma2, color=color.new(#0000ff, 0), linewidth=2)
plt3 = plot(ma3, color=color.new(#ff0000, 0), linewidth=2)
Pine Script(Pineスクリプト)をさらに学びたい方へオススメのコンテンツ
OANDA証券では、TradingViewのプログラミング言語である「Pine Script(Pineスクリプト)」に関する記事を豊富に提供しています。
プログラミング初心者の方でも、インジケーターやストラテジーの作成ができるよう、ソースコードをコピペ+少しの修正で組み上がる構成としています。
またOANDA証券とTradingViewのアカウントを連携させることで、「Tradingview」から直接トレードすることが可能です。
ぜひOANDA証券での口座開設をご検討下さい。
本ホームページに掲載されている事項は、投資判断の参考となる情報の提供を目的としたものであり、投資の勧誘を目的としたものではありません。投資方針、投資タイミング等は、ご自身の責任において判断してください。本サービスの情報に基づいて行った取引のいかなる損失についても、当社は一切の責を負いかねますのでご了承ください。また、当社は、当該情報の正確性および完全性を保証または約束するものでなく、今後、予告なしに内容を変更または廃止する場合があります。なお、当該情報の欠落・誤謬等につきましてもその責を負いかねますのでご了承ください。