使用 IF 语句和切换来清理 TradingView 指标?

Using IF Statements And Toggle to Clean Up TradingView Indicator?

我的指示器顶部有一个切换按钮,我可以在其中确定我使用的是浅色还是深色主题:

toggleDarkColors = input.bool(true, title = "Toggle Dark Colors", group=g2)
toggleLightColors = input.bool(false, title = "Toggle Light Colors", group=g2)

颜色:

londonTradingWDColor = color.new(#66d9ef, 99) //  Dark
londonTradingWLColor = color.new(#66d9ef, 93) //  Light

我使用上面的颜色在图表上显示我的交易 window:

LondonTW = input(title='London Trading Window', defval=true, group=g6)
londonTradingWindow = toggleTradingWindow and is_session(londonTradingW)
bgcolor(toggleDarkColors and londonTradingWindow and LondonTW ? londonTradingWDColor : na)
bgcolor(toggleLightColors and londonTradingWindow and LondonTW ? londonTradingWLColor : na)

我遇到的 2 个问题是当我点击指标设置中的“样式”菜单时:

#01

我有 2 个显示“背景颜色”的复选框,因为上面有 2 个 bgcolor()。 有什么方法可以根据切换的颜色主题只显示 1 而不是 2?我试过 if 语句:

LondonTW = input(title='London Trading Window', defval=true, group=g6)
londonTradingWindow = toggleTradingWindow and is_session(londonTradingW)

LOTWDark = bgcolor(londonTradingWindow and LondonTW ? londonTradingWDColor : na)
LOTWLight = bgcolor(londonTradingWindow and LondonTW ? londonTradingWLColor : na)

if toggleDarkColors
    LOTWDark
    
if toggleLightColors    
    LOTWLight

我收到错误:line 551: Void expression cannot be assigned to a variable 第 551 行是 LOKZDark = bgcolor(londonOKillZone and LondonOKZ ? londonOpenKZDColor : na)

#02

如何修改上面的 bgcolor() 代码来给它一个标题?我在 tradingviews pinescript v5 页面上查看了 bgcolor(),但我无法理解。

有什么建议吗?

#1

不,这是不可能的。但是为什么不为此使用一个输入呢?假设你只保留 toggleDarkColors,如果它是 true,那么它就是深色。如果是false,就是浅色

#2 bgcolor() 有一个 title 参数。

bgcolor(color, offset, editable, show_last, title) → void

title (const string) Title of the bgcolor. Optional argument.

编辑

对颜色选项使用一个输入。如果true,使用深色,如果false,使用浅色。一个颜色变量就足够了。然后在bgcolor().

中使用这个变量
toggleDarkColors = input.bool(true, title = "Toggle Dark Colors", group=g2)
londonTradingColor = toggleDarkColors ? color.new(#66d9ef, 99) : color.new(#66d9ef, 93)
bgcolor(londonTradingWindow and LondonTW ? londonTradingColor : na)