pine script(pine スクリプト)-移動平均線が交差したときに矢印をチャート上に表示させるコード

今回はTrading View(トレーディングビュー)で使用できるプログラミング言語pine script(パインスクリプト)で移動平均線が交差したときにチャート上に矢印を表示させてみようと思います。

今回の交差は、応用すれば「ろうそく足と移動平均の交差」などといった使い方ができるようになります。

もちろん移動平均線ではなく違う何かの交差でも使うことができます。

スポンサーリンク

移動平均線が交差したときに矢印を表示させるためのサンプルコード

毎度のことですが、サンプルコードから紹介していきたいと思います。

このコードを実際にTrading Viewに反映させると

ろうそく足の他に、赤と緑の線がありますが、これが移動平均線2本です。

またその2つの線が交差した時のろうそく足に緑の▼があります。

今回書いたので、この▼で移動平均線2本が交差したときにろうそく足の上か下に表示させるようにしています。

コードを詳しく説明

それでは、コードを上から説明していきたいと思います。

//@version=3
study(“移動平均線の交差”,overlay=true)

最初の2行、これは何度も説明していますが、定型として書くようにしましょう。

“移動平均線の差”というところは、このpine scriptの名前で任意で決めてください。

カンマ区切りで「overlay=true」というのがありますが、これはろうそく足のチャートと同じ画面にインジゲーターを表示するという意味です。何も書かなければろうそく足とは別の画面にインジゲーターが表示されるようになります。

src = close
length1 = input(14)
length2 = input(26)

次の3行は、移動平均線を計算するための変数を用意しました。

「src = close」のcloseはろうそく足の終値をとってくるというものです。length1とlength2にはデフォルトで14と26が入ります。

shortMA = sma(src,length1)
longMA = sma(src,length2)

次の2行では移動平均線を2本計算して「shortMA」と「longMA」に代入しております。移動平均線の数値はさきほど設定した14と26で計算されます。

crossA = crossover(shortMA,longMA)
crossB = crossunder(shortMA,longMA)

次の2行、ここが今回の交差の部分をを表すものになります。「crossover」と「crossunder」です。

「crossover」と「crossunder」はどちらもpine scriptの組み込み関数で、何かと何かの交差を表すものになります。crossoverならゴールデンクロス、crossunderならデッドクロスを実装することができます。

書き方は

「crossover(A,B)」でAがBを上に抜けた時
「crossunder(A,B)」と書くとAがBを下に抜けた時

となります。

それぞれの交差を「crossA」と「crossB」という変数に代入しました。

plot(shortMA,color=lime)
plot(longMA,color=red) plotshape(crossA,style=shape.triangleup,location=location.belowbar)
plotshape(crossB,style=shape.triangledown,location=location.abovebar)

最後の4行で、移動平均線とクロスを矢印でチャート上に表示しています。

移動平均線は以前の記事でも何度も書いていますが、plotを使用すればOKです。

今回初めて出てきたのが「plotshape」ですが、これは線以外の何かをチャートに表示するときに使います。カンマ区切りで「style=shape.triangleup」と書いてありますが、これは上向きの三角を表示するものです。「shape.triangledown」は下向きの三角になります。

色々なアイコンの表示は公式チュートリアルに記載がありますので、確認ください。

参考→plotshape、plotchar、plotarrowを用いた図形の描画

最後に「location=location.belowbar」と「location=location.abovebar」ですが、矢印を表示する場所を指定しています。最後の文字が「belowbar」ならろうそく足のすぐ下、「abovebar」ならろうそく足のすぐ上です。

移動平均線以外でも使えるcrossoverとcrossunder

移動平均線の交差について説明してきましたが、さほど難しい内容でもないのですぐに理解できたのではないでしょうか。

何か質問はコメント欄にください。

このcorssoverとcrossunderは様々なことに使用することができます。

例えば「ボリンジャーバンドの2シグマとろうそく足の交差」などです。

pine scriptでは使うことが多いと思いますので、しっかり覚えておきましょう。