見出し画像

オリジナルインジケーター「移動平均線3本」のサンプルコードとカスタマイズ例【TradingView】

本noteでは、以下のブログ記事で配布しているインジケーターのPineスクリプトをサンプルコードとして公開しています。

上のブログで公開しているインジケーターは以下で配布しておりますので、そのまま利用したい方は以下から「お気に入り」登録してお使いください。(ブログ記事に登録の手順を載せています)

2本バージョンもあります ↓

また本noteではサンプルコードをコピペして利用できますので、ご自身でカスタマイズしていきたい方やPineスクリプトの学習ネタに使いたい方はご活用ください。


さらに本noteの有料エリアでは、サンプルコードの簡単な解説や「ゴールデンクロス発生時にマーク表示」「パーフェクトオーダー発生時にチャート背景色変更」といったカスタマイズ例を紹介しています。

すべてサンプルコード付きですので、興味のある方はどうぞ。


サンプルコード

以下、Pineスクリプトのコードになります。そのままTradingViewのPineエディタにコピペすればすぐにお使いいただけます。

サンプルコードをコピペしてインジケーターを作成する手順については、以下の記事を参考にしてください。

Pine(v5)バージョン

これから初めてPineを利用する、という方は最新バージョンのこちらをコピペ。

//@version=5
indicator(title="$TTOSample_MA3", shorttitle="MA3", overlay=true)
 
in_src = input.source(close, title="計算対象の価格")
in_ma_short_length = input.int(5, title="短期MA 長さ", minval=1)
in_ma_middle_length = input.int(25, title="中期MA 長さ", minval=1)
in_ma_long_length = input.int(75, title="長期MA 長さ", minval=1)
in_calc_ema = input.bool(false, title="EMAとして計算する")
 
ma_short = in_calc_ema ? ta.ema(in_src, in_ma_short_length) : ta.sma(in_src, in_ma_short_length)
ma_middle = in_calc_ema ? ta.ema(in_src, in_ma_middle_length) : ta.sma(in_src, in_ma_middle_length)
ma_long = in_calc_ema ? ta.ema(in_src, in_ma_long_length) : ta.sma(in_src, in_ma_long_length)
 
plot(ma_short, color=color.orange, title="短期MA")
plot(ma_middle, color=color.blue, title="中期MA")
plot(ma_long, color=color.green, title="長期MA")

Pine(v4)バージョン

旧バージョンのv4も一応載せておきます。v4で作りたい方はこちらをどうぞ。

//@version=4
study(title="$TTOSample_MA3", shorttitle="MA3", overlay=true)

in_src = input(close, type=input.source, title="計算対象の価格")
in_ma_short_length = input(5, title="短期MA 長さ", minval=1)
in_ma_middle_length = input(25, title="中期MA 長さ", minval=1)
in_ma_long_length = input(75, title="長期MA 長さ", minval=1)
in_calc_ema = input(false, title="EMAとして計算する")

ma_short = in_calc_ema ? ema(in_src, in_ma_short_length) : sma(in_src, in_ma_short_length)
ma_middle = in_calc_ema ? ema(in_src, in_ma_middle_length) : sma(in_src, in_ma_middle_length)
ma_long = in_calc_ema ? ema(in_src, in_ma_long_length) : sma(in_src, in_ma_long_length)

plot(ma_short, color=color.orange, title="短期MA")
plot(ma_middle, color=color.blue, title="中期MA")
plot(ma_long, color=color.green, title="長期MA")

サンプルコードの解説とカスタマイズ例について

サンプルコードの解説や簡単なカスタマイズ例については、以下の有料エリアで公開しています。サンプルコード付きで解説していますので、興味のある方はどうぞ。

<< 有料エリアで話している内容一覧 >>

1. サンプルコードのざっくり解説

サンプルコードの解説を行ないます。Pineスクリプトを覚えるには命令や関数の知識が必要になるので、ここでは全体の流れや各行でどのような処理がおこなわれているのかなどを、ざっくりと解説します。

2. Pine(v5)版とPine(v4)版との違い

v5とv4で変更になった書き方がけっこうあります。本サンプルコードにおける違いについて解説します。(これまでv4で書いていた人向け)

3. カスタマイズ例(初級編)

サンプルコードに手を加えてカスタマイズする方法をいくつか紹介します。自分がより使いやすいインジケーターを作るうえでの参考にしてください。

※Pineスクリプトの学習がまだという方もいると思うので、サンプルコードはすべてそのままコピペして利用できるようにしています。

(1) 移動平均線の本数を増やす/減らす
本インジケーターは3本までですが、さらに4本、5本、・・と1つのインジケーターで表示させる方法です。5日、25日、75日、200日・・とかでもまとめて表示可能になります。また逆に2本だけの表示にする方法もご紹介。

(2) 日数(本数)のパラメータを無しにする
本インジケーターは汎用的な利用を意識して移動平均線の日数(本数)を自由に設定できるようにしていますが、いつも利用する日数(本数)が決まっているという方のために、コード上でパラメータを固定化する方法をご紹介します。変数とパラメータの書き方の違いの例としても参考になるかと。

(3) 各移動平均線の初期色を変える
各移動平均線の色は初期色が決まっていて、チャート設定から変更もできるのですが、「自分がよく使う色は決まっているからいつでも同じ配色で使えるようにしたい」という方向けの修正方法です。

(4) 移動平均線のデフォルト計算方法をEMAにする
「自分はSMAじゃなくてEMAメインで使いたい。いちいちチェック入れてEMAにしなきゃいけないのは面倒だ!」という方向けに、最初からEMAで計算してくれるようなカスタマイズ方法です。

4. カスタマイズ例(上級編)

上級編では、より実践的に使えそうなカスタマイズ例をご紹介します。

(1) ゴールデンクロス/デッドクロス発生時にサイン表示
2つの移動平均線がゴールデンクロスまたはデッドクロスした時に自動でマークを表示させる方法です。チャートを遡ってみるときなどにクロスしている箇所が確認しやすくなります。

以下のようにゴールデンクロス発生時には黄色の丸マークが、デッドクロス発生時には緑(ライム)色のクロスマークが、それぞれ表示されるようにしてみます。

(2) パーフェクトオーダー発生中にチャート背景の色を変える方法
パーフェクトオーダーが発生している部分のチャート背景を自動で色塗することで簡単にパーフェクトオーダーの発生箇所を確認できるようにする方法です。

【パーフェクトオーダーとは?】
(上昇トレンド)移動平均線3本が上から「短期」「中期」「長期」の順で並び、かつどれも上向いている状態

(下落トレンド)移動平均線3本が下から「短期」「中期」「長期」の順で並び、かつどれも下向いている状態

上昇トレンドの時は背景が赤色に、下落トレンドの時は背景が青色に、それぞれ自動で表示されるようになります。

有料エリアの内容は以上です。サンプルコードと解説を見たい方は、ぜひご購入ください。

ここから先は

13,999字 / 3画像

¥ 500

この記事が気に入ったらサポートをしてみませんか?