超入門 TradingView PineScript
TradingViewユーザー必見! TradingView Pineスクリプト(PineScript)を、元システムエンジニアのAkiが日本語で情報をまとめました。非プログラマの方にも基礎からわかりやすい説明を心掛けています。

PineScriptで使える色一覧とグラデーションの作成方法

色の指定方法とグラデーションの作成方法
TradingView PineScript Pineスクリプト システムトレード チャート

色を指定する方法

Pineの色は、あらかじめ内蔵された色(color.red等)のほか、color.rgb関数を使用し、RGBAの4つの値を指定して作成することもできます。

あらかじめ内蔵された色を使う

以下の色があらかじめ内蔵されています。

色見本と色定数カラーコードでの指定方法color.rgb関数での指定方法
color.aqua#00BCD4color.rgb(0, 188, 212)
color.black#363A45color.rgb(54, 58, 69)
color.blue#2196F3color.rgb(33, 150, 243)
color.fuchsia#E040FBcolor.rgb(224, 64, 251)
color.gray#787B86color.rgb(120, 123, 134)
color.green#4CAF50color.rgb(76, 175, 80)
color.lime#00E676color.rgb(0, 230, 118)
color.maroon#880E4Fcolor.rgb(136, 14, 79)
color.navy#311B92color.rgb(49, 27, 146)
color.olive#808000color.rgb(128, 128, 0)
color.orange#FF9800color.rgb(255, 152, 0)
color.purple#9C27B0color.rgb(156, 39, 176)
color.red#FF5252color.rgb(255, 82, 82)
color.silver#B2B5BEcolor.rgb(178, 181, 190)
color.teal#00897Bcolor.rgb(0, 137, 123)
color.white#FFFFFFcolor.rgb(255, 255, 255)
color.yellow#FFEB3Bcolor.rgb(255, 235, 59)

RGBAで指定する

PineScripでは、色を次の4つの値で表します。

  • R 赤(レッド)
  • G 緑(グリーン)
  • B 青(ブルー)
  • A 透過度(アルファチャンネル)

RGBは0~255、Aは0~100の範囲で指定します。これらの値はfloat型で指定します。 透過度は、0で完全に表示、100で完全に透明(非表示)になります。

color.rgb関数

関数color.rgb(red, green, blue, transp)
機能透明度を含む色を作成する
戻り値透明度を含む色
引数red
赤色の濃度 0~255で指定
green
緑色の濃度 0~255で指定
blue
青色の濃度 0~255で指定
transp
透過度 0~100で指定
0で完全に表示、100で完全に透明(非表示)

color.new関数

関数color.new(color, transp)
機能透明度を含む色を作成する
戻り値透明度を含む色
引数color
透明度を指定したい色
transp
透過度 0~100で指定
0で完全に表示、100で完全に透明(非表示)

plot関数など、関数の引数にtranspが用意されているものもありますが、本記事執筆時点でtransp引数を使用すると、「transp引数で透過度を指定するのは非推奨」と警告が出ます。

条件によって色を変える

移動平均線と終値を比べて、移動平均線の色を変更します。終値のほうが高いときは赤色、そうでないときは青色にします。

//@version=5 
indicator("MAと終値の位置関係でMAの色を変える", overlay = true)
MA = ta.sma(close, 20)
plot(MA, color = MA < close ? color.red : color.blue)

MAと終値の位置関係でMAの色を変えたサンプル

グラデーションの作成

color.from_gradient関数を使い、グラデーションを作成するために色の計算を行います。

関数color.from_gradient(value, bottom_value,
top_value, bottom_color, top_color)
機能透明度を含む色を作成する
戻り値透明度を含む色
引数value
計算する値
bottom_value
計算を行う範囲の最低値
(0~100で表すインジケーターの場合は0)
top_value
計算を行う範囲の最高値
(0~100で表すインジケーターの場合は100)
bottom_color
value値がbottom_valueのときの色
top_color
value値がtop_valueのときの色

ソースコード

//@version=5
indicator("RSIのプロットにグラデーションを設定する")
RSI = ta.rsi(close, 10)
Color = color.from_gradient(RSI, 0, 100, color.rgb(0, 0, 255), color.rgb(255, 0, 0))
plot(RSI, color = Color, style = plot.style_histogram, histbase = 50, linewidth = 6)

RSIの数値をヒストグラムの色(グラデーション)で表現

参考サイト

Tables Pine Script User Manual 5 documentation