TradingViewには独自のプログラミング言語であるpineを使ってオリジナルのインジケーターが作成できます。
今回は、このpineのオリジナルインジケーターの作成ができるpineエディタをテーマに解説します。
そもそもpineスクリプトとはどんなものかといった話題から起動方法、編集方法、そしてスクリプトの事例などを紹介します。
また、スクリプトを学習するメリットについても言及し、TradingViewのプログラム言語についてまとめました。
目次
TradingViewのPineスクリプトとは何か?
Pineスクリプトは冒頭でお話しした通り、TradingViewのオリジナルのプログラミング言語です。
プログラミング言語と聞いて、プログラマーじゃないから関係ないと感じるかもしれません。
しかし、小学生レベルの算数と、中学1年レベルの英語で表現することができれば作成できる、かなり優しいプログラミング言語です。
投資プログラムに特化した言語なので自由度が少ないものの、シンプルな言語になっているのが特徴です。
このpine言語を使えるようになると、インジケーターと呼ばれる投資の指標をオリジナルで作れます。
例えば、ボリンジャーバンドを補助するような自分の指標を追加したインジケーターなど自分好みのインジケーターも自在に表示できます。
次にストラテジーの作成も可能です。
ストラテジーとは、自動売買に近いシステムです。
売りや買いのタイミングを自動化させることができ、具体的なアクションを自動でガイドしてくれる仕組みといえるでしょう。
このようにインジケーターや自動売買ができるようなストラテジーを作成することで自分の投資理論をチャートで再現したり、取引に活用したりできます。
具体的なメリットについては後述しますが、少なくともTradingViewの可能性を大幅に広げてくれる手段であることは確かです。
さらにきちんと動作するものは、コミュニティにも公開できるため、投資以外の新たな可能性も切り拓いてくれるツールです。
TradingViewのPineエディタを起動するには?
TradingViewでpineスクリプトを書くためには、まずpineエディタを開いて利用するようにします。
その手順は次の4ステップです。
- TradingViewの起動
- チャート表示
- pineエディタを開く
- 新規の空ストラテジーを選択
最初にTradingViewを起動させましょう。
pineエディタはTradingView上で動作するので、どんな状況でもまずTradingViewを起動させる必要があります。
次にチャートを表示させます。
どんなものでも良いですが、自分が作ってみたいチャートで利用する商品が良いかもしれません。
例えば、FXであれば為替相場を表示し、実際に利用する通貨ペアを選択しましょう。
3ステップ目は、Pineエディタを起動させます。
チャート画面の下方に「Pineエディタ」のタブ(テキストノートやストラテジーテスターなどが書かれたタブが集まっているところ)をクリックしましょう。
4ステップ目は、起動したインジケーター用スクリプトを新規作成することでTradingViewインジケーターの標準コード(終値をつないだグラフ)が表示されます。
これでTradingView上の環境でpineエディタを利用する環境が整います。
これであとは自由に自分が希望するスクリプトを作成していきましょう。
TradingViewのPineエディタからスクリプトを編集する方法
TradingViewのpineエディタからスクリプトを編集する方法を解説します。
ここでは次の流れで解説します。
- コメント行の理解
- Study関数
- close命令関数
- チャート上に表示
- スクリプトの保存
コメント行を理解する
最初に一行目を見ると、
//~~~~
と記載されています。
これはコメント行というもので、基本的にプログラムとは関係ない行を意味します。
つまり、このプログラムの素性を表現している行です。
ただし、pineに関しては意味があります。
ここで、このコメントの行を入力しておかないと、pineスクリプトのVer.3以降から追加された機能は一切使えなくなります。
pineを扱う場合は、飾りではなく必ず必要なものだと思って、どんなスクリプトを作っても上記のコメント行は残しておきましょう。
Study関数
Study関数は、必ず定義するpineの基本といえるでしょう。
study(“マイスクリプト”)
と記載するもので、これはインジケーター名を指します。
()の中に囲まれたもののうち、””で挟まれた部分に名前を入れましょう。
例えば、
study(“太郎式25日移動平均線”)
といったような形です。
ただし、単に名前を指すだけでなく、様々な設定ができます。
一例を挙げると次の4つがあります。
- title:タイトル(MovingAverage※移動平均線の英名)
- shorttitle:チャート上に表示される略タイトル(MA、移動平均線の略字)
- precision:計算結果でどこまで小数点の表示をするか(precision=1なら160.3というように小数第一位まで表示)
- overlay:チャートの上に表示させるか、下に表示させるか
最後のoverlayのみ少し踏み込んで解説しましょう。
このスクリプトは、trueかfalseのいずれかを続けて書いていきます。
overlay=true
とすると、インジケータがチャート上に表示される仕組みです。
移動平均線のようにチャートの上に帯で表示されます。
次に、
overlay=false
とすれば、オシレータ系のインジケータのようにチャートの下に別枠で表示されます。
買われすぎかどうかを判定するRSI(Relative Strength Index)やMACD(Moving Average Convergence Divergence)のように売買のサインを表示するようなインジケーターで使用します。
まとめとして、これらを一度に表示させると次のようになります。
study(title="MovingAverage", shorttitle="MA", precision=1, overlay=true)
「これは移動平均線をMAという略称で表示させ、小数第一位までの数値まで出しておきます。さらにチャートの上にそれを表示します。」
といった意味になります。
それぞれの定義を「,(半角カンマ) (半角スペース)」(,)で切っていきましょう。
Plot
これは命令のスクリプトで、
Plot (命令文)
で記載します。
例えば、終値を表示させる場合は、
Plot(close)
と書き出します。
これによって終値を表示することができるプログラムが完成します。
チャート上に表示
ここまで出来たらチャートに表示していきます。
その操作は簡単で、TradingViewの下にある「チャートに追加」をクリックするだけです。
これによって自作したスクリプトが表示されますが、問題がある場合はエラー表示されます。
表示させて自分の狙ったスクリプトになっているか適宜確認しましょう。
スクリプトの保存
pineを使ったスクリプトが完成できた場合は、「保存」をクリックし、任意の名前で保存しましょう。
ちなみに、ここで保存した名前がチャート上に表示されるものになります。
自分が作ったことが分かるように、先頭に何かしらの言葉をつけておくことがおすすめです。
標準搭載のインジケーターなどと区別しやすいのでつけておくようにしましょう。
例えば、25日移動平均線をベースにしたものができたら、「TARO_25日移動平均線」などとつけておくとわかりやすくなります。
初心者でも行えるスクリプトの例を紹介!
Pineスクリプトには具体的にどのようなものがあるのか、ここでは簡単なスクリプトの例を2例紹介していきましょう。
25日移動平均線
簡単な25日移動平均線を書いていきます。
//@version=3
study("TARO_25日移動平均線", overlay=true)
ma = sma(close, 25)
plot(ma, title='太郎の25日移動平均線')
先ほど紹介したスクリプトをまとめたもので移動平均線をチャート上に表示させるスクリプトです。
移動平均線の変化で銘柄を買うアクション
条件を付けて書いていくと次のような例が挙げられます。
①【銘柄を買う条件】は【14日移動平均線】が【28日移動平均線】を【上抜いた】時。
②もし【銘柄を買う条件】を満たしたら、【銘柄を買う】
と言う文章をナンバリングして表現します。
meigara_wo_kaujouken = crossover(sma(close, 14), sma(close, 28))//①
if (meigara_wo_kaujouken == true)
strategy.entry("銘柄を買う",strategy.long)//②
やりたいことを文章にして、それを分けることでスクリプトが作成できます。
TradingViewのPineスクリプトを学習するメリットとは?
最後にTradingViewのpineスクリプトの学習メリットを紹介しましょう。
そのメリットは次の5つです。
- 自分のインジケーターが作れる
- 自分の戦略を自動で検証できる
- トレードのルールを明確にできる
- プログラム学習のきっかけになる
- 別のツールで仮想通貨の商品も自動売買
1.自作のインジケーターが利用できるようになる
pineスクリプトが書けるようになると、自分でインジケーターが作れるようになります。
外部のインジケーターではイマイチ使いにくいという方も自分用にカスタマイズされたインジケーターが使えるようになるのは大きなメリットです。
自分だけのイメージで相場が見られるようになることで、自分の投資の幅も広がるようになるでしょう。
2.自分の戦略を自動で検証できる
pineスクリプトが理解できると、売買戦略テスターも利用しやすくなります。
これは、特定の売買方法を使って検証するプログラムで、自分の戦略が有効かどうかを判定できるようになります。
この戦略テスターもpineスクリプトを使うため、pineスクリプトの知識は必須といえるでしょう。
さらにこのプログラムは自動で検証してくれるので、pineスクリプトを覚えれば検証もはかどります。
3.トレードのルールを明確にできる
pineスクリプトを書く場合、自分の実現したい形を文にするといったことに触れました。
実は、この文にする作業で自分の投資スタイルを改めて見直すことができ、インジケーターを作りながら、これまで感覚的に行っていた投資の手法を数字などに落として整理できます。
仮にpineスクリプトが上手くできなくとも頭の整理には十分なるでしょう。
4.プログラム学習のきっかけになる
pineスクリプトは、プログラム言語として簡単な部類に入ります。
しかし、基本となる部分が学べるので、pineスクリプトをきっかけに他のプログラム言語の学習へ生かせるようになります。
投資以外の可能性を広げるという意味でもpineスクリプト学習はメリットがあるでしょう。
5.別のツールを使って仮想通貨などの商品も自動売買できる
pineスクリプトは、外部の自動売買プラットフォームにも対応しています。
こういった取引ツールに自分の作ったpineスクリプトを入れることで、仮想通貨の自動売買などTradingViewではできないことも実現できます。
TradingViewのPineスクリプト入門まとめ
TradingViewのPineスクリプトは、比較的簡単なプログラミング言語です。
TradingViewを起動させてエディタを選択するだけで、すぐに利用できる環境が用意されています。
さらに今回紹介した例だけでなく、既存のスクリプトを呼び出して名前を変えてから、自分が導き出した数値を入れたり、参考にしたりすることで個人的な範囲ではありますが、とても役立つインジケーターも作ることができます。
意外に簡単な手続きで作成できるので、さっそくエディタを立ち上げてみましょう。
≫TradingViewの出来高プロファイルは無料でおすすめ!使い方を解説!
≫TradingView(無料プラン)の使い方まとめ!株やFXでの活用方法も解説!
コメントを残す