PineScriptで使える色一覧とグラデーションの作成方法
色の指定方法とグラデーションの作成方法
TradingView PineScript Pineスクリプト システムトレード チャート
色を指定する方法
Pineの色は、あらかじめ内蔵された色(color.red等)のほか、color.rgb関数を使用し、RGBAの4つの値を指定して作成することもできます。
あらかじめ内蔵された色を使う
以下の色があらかじめ内蔵されています。
色見本と色定数 | カラーコードでの指定方法 | color.rgb関数での指定方法 |
■color.aqua | #00BCD4 | color.rgb(0, 188, 212) |
■color.black | #363A45 | color.rgb(54, 58, 69) |
■color.blue | #2196F3 | color.rgb(33, 150, 243) |
■color.fuchsia | #E040FB | color.rgb(224, 64, 251) |
■color.gray | #787B86 | color.rgb(120, 123, 134) |
■color.green | #4CAF50 | color.rgb(76, 175, 80) |
■color.lime | #00E676 | color.rgb(0, 230, 118) |
■color.maroon | #880E4F | color.rgb(136, 14, 79) |
■color.navy | #311B92 | color.rgb(49, 27, 146) |
■color.olive | #808000 | color.rgb(128, 128, 0) |
■color.orange | #FF9800 | color.rgb(255, 152, 0) |
■color.purple | #9C27B0 | color.rgb(156, 39, 176) |
■color.red | #FF5252 | color.rgb(255, 82, 82) |
■color.silver | #B2B5BE | color.rgb(178, 181, 190) |
■color.teal | #00897B | color.rgb(0, 137, 123) |
■color.white | #FFFFFF | color.rgb(255, 255, 255) |
■color.yellow | #FFEB3B | color.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の数値をヒストグラムの色(グラデーション)で表現