每天更改图表背景

时间:2020-11-11 21:27:48

标签: pine-script

每天有没有一种方法可以区分不同的颜色?例如,11月9日图表的背景颜色为红色,而11月10日图表的背景颜色为绿色,依此类推,随着新日子的增加,它们会获得不同的颜色或重复的颜色模式吗?

1 个答案:

答案 0 :(得分:0)

好听的问题:)
这应该可以显示您要查找的内容。

//@version=4
study("DayColors", overlay=true)

var color c0     = input(color.silver, "Sunday",    type=input.color)
var color c1     = input(color.red,    "Monday",    type=input.color)
var color c2     = input(color.orange, "Tuesday",   type=input.color)
var color c3     = input(color.yellow, "Wednesday", type=input.color)
var color c4     = input(color.green,  "Thursday",  type=input.color)
var color c5     = input(color.blue,   "Friday",    type=input.color)
var color c6     = input(color.purple, "Saturday",  type=input.color)
var int   transp = input(60, "Background transparancy", minval=0, maxval=100)

var arrColor     = array.new_color()

if barstate.isfirst
    array.push(arrColor, c0)
    array.push(arrColor, c1)
    array.push(arrColor, c2)
    array.push(arrColor, c3)
    array.push(arrColor, c4)
    array.push(arrColor, c5)
    array.push(arrColor, c6)

bgcolor(array.get(arrColor, dayofweek-1), transp)

编辑:根据注释中的要求,仅应用从“市场开盘”到“市场收盘”的颜色。

//@version=4
study("DayColors", overlay=true)

var color c0       = input(color.silver, "Sunday",    type=input.color)
var color c1       = input(color.red,    "Monday",    type=input.color)
var color c2       = input(color.orange, "Tuesday",   type=input.color)
var color c3       = input(color.yellow, "Wednesday", type=input.color)
var color c4       = input(color.green,  "Thursday",  type=input.color)
var color c5       = input(color.blue,   "Friday",    type=input.color)
var color c6       = input(color.purple, "Saturday",  type=input.color)
var int   transp   = input(60, "Background transparancy", minval=0, maxval=100)
var       sess     = input("1800-1700:12345", "Session", type=input.session) // Asia session Monday to Friday
var       arrColor = array.new_color()
var int   t        = na

if barstate.isfirst
    array.push(arrColor, c0)
    array.push(arrColor, c1)
    array.push(arrColor, c2)
    array.push(arrColor, c3)
    array.push(arrColor, c4)
    array.push(arrColor, c5)
    array.push(arrColor, c6)

t := time(timeframe.period, sess)

bgcolor(na(t) ? na : array.get(arrColor, dayofweek-1), transp)