pine-script - 无法取消选中输入
问题描述
我正在研究一个显示多个 BTC 市场总交易量的指标。
该指标在大多数情况下都有效,但由于某种原因,取消选中输入不起作用。即使一切都未选中,该指标仍会绘制所有市场的总交易量。
这可能是一个简单的修复,但我没有编码背景。我通过查看其他指标和一些试验和错误来达到这一点。
如果有人可以帮助我,我将不胜感激。
我还认为能够通过绘制多种颜色的直方图来查看每个市场的交易量会非常有趣,但我认为我无法实现这一点,或者甚至可能实现。
这是整个代码:
//@version=4
study(title="Aggregated Bitcoin Volume", overlay=false)
sym1_title = "Binance (USDT)"
sym1_ticker = "BINANCE:BTCUSDT"
sym2_title = "Binance (BUSD)"
sym2_ticker = "BINANCE:BTCBUSD"
sym3_title = "Bitfinex (USD)"
sym3_ticker = "BITFINEX:BTCUSD"
sym4_title = "Coinbase (USD)"
sym4_ticker = "COINBASE:BTCUSD"
sym5_title = "Coinbase (USDC)"
sym5_ticker = "COINBASE:BTCUSDC"
sym6_title = "Bitstamp (USD)"
sym6_ticker = "BITSTAMP:BTCUSD"
sym7_title = "Kraken (USD)"
sym7_ticker = "KRAKEN:XBTUSD"
sym8_title = "Gemini (USD)"
sym8_ticker = "GEMINI:BTCUSD"
sym9_title = "OkEx (USDT)"
sym9_ticker = "OKEX:BTCUSDT"
sym10_title = "OkEx (USDK)"
sym10_ticker = "OKEX:BTCUSDK"
sym11_title = "Huobi (USDT)"
sym11_ticker = "HUOBI:BTCUSDT"
sym1 = input(title=sym1_title, type=input.bool, defval=true)
sym2 = input(title=sym2_title, type=input.bool, defval=true)
sym3 = input(title=sym3_title, type=input.bool, defval=true)
sym4 = input(title=sym4_title, type=input.bool, defval=true)
sym5 = input(title=sym5_title, type=input.bool, defval=true)
sym6 = input(title=sym6_title, type=input.bool, defval=true)
sym7 = input(title=sym7_title, type=input.bool, defval=true)
sym8 = input(title=sym8_title, type=input.bool, defval=true)
sym9 = input(title=sym9_title, type=input.bool, defval=true)
sym10 = input(title=sym10_title, type=input.bool, defval=true)
sym11 = input(title=sym11_title, type=input.bool, defval=true)
src = input(close)
price_1 = security(sym1_ticker, timeframe.period, src)
price_2 = security(sym2_ticker, timeframe.period, src)
price_3 = security(sym3_ticker, timeframe.period, src)
price_4 = security(sym4_ticker, timeframe.period, src)
price_5 = security(sym5_ticker, timeframe.period, src)
price_6 = security(sym6_ticker, timeframe.period, src)
price_7 = security(sym7_ticker, timeframe.period, src)
price_8 = security(sym8_ticker, timeframe.period, src)
price_9 = security(sym9_ticker, timeframe.period, src)
price_10 = security(sym10_ticker, timeframe.period, src)
price_11 = security(sym11_ticker, timeframe.period, src)
security_1 = security(sym1_ticker, timeframe.period, volume)
security_2 = security(sym2_ticker, timeframe.period, volume)
security_3 = security(sym3_ticker, timeframe.period, volume)
security_4 = security(sym4_ticker, timeframe.period, volume)
security_5 = security(sym5_ticker, timeframe.period, volume)
security_6 = security(sym6_ticker, timeframe.period, volume)
security_7 = security(sym7_ticker, timeframe.period, volume)
security_8 = security(sym8_ticker, timeframe.period, volume)
security_9 = security(sym9_ticker, timeframe.period, volume)
security_10 = security(sym10_ticker, timeframe.period, volume)
security_11 = security(sym11_ticker, timeframe.period, volume)
plot(series=(security_1+security_2+security_3+security_4+security_5+security_6+security_7+security_8+security_9+security_10+security_11), style=plot.style_histogram, color = #787b86, linewidth=1)
解决方案
我猜你正在寻找这样的东西:
//@version=4
study(title="Aggregated Bitcoin Volume", overlay=false)
sym1 = input(true, "", input.bool, inline="1")
sym2 = input(true, "", input.bool, inline="2")
sym3 = input(true, "", input.bool, inline="3")
sym1_ticker = input("BINANCE:BTCUSDT", "", input.symbol, inline="1")
sym2_ticker = input("BINANCE:BTCBUSD", "", input.symbol, inline="2")
sym3_ticker = input("BITFINEX:BTCUSD", "", input.symbol, inline="3")
f_volume(_ticker) => security(_ticker, timeframe.period, volume)
volume_1 = sym1 ? f_volume(sym1_ticker) : 0
volume_2 = sym2 ? f_volume(sym2_ticker) : 0
volume_3 = sym3 ? f_volume(sym3_ticker) : 0
volume_agg = volume_1 + volume_2 + volume_3
plot(volume_agg, style=plot.style_columns, color = #787b86)
在 Pine 中无法以多种堆叠颜色绘制直方图。
编辑 1
毕竟似乎有一种方法可以以多种堆叠颜色绘制直方图。
//@version=4
study(title="Aggregated Volume", precision=0, overlay=false)
// Plot style selections
var string PS1 = "Columns"
var string PS2 = "Histogram"
// Inputs
i_sym1 = input(true, "", input.bool, inline="1")
i_sym2 = input(true, "", input.bool, inline="2")
i_sym3 = input(true, "", input.bool, inline="3")
i_sym4 = input(true, "", input.bool, inline="4")
i_sym5 = input(true, "", input.bool, inline="5")
i_sym6 = input(true, "", input.bool, inline="6")
i_sym7 = input(true, "", input.bool, inline="7")
i_sym8 = input(true, "", input.bool, inline="8")
i_sym9 = input(true, "", input.bool, inline="9")
i_sym10 = input(true, "", input.bool, inline="10")
i_sym1_color = input(color.red, "", input.color, inline="1")
i_sym2_color = input(color.orange, "", input.color, inline="2")
i_sym3_color = input(color.yellow, "", input.color, inline="3")
i_sym4_color = input(color.green, "", input.color, inline="4")
i_sym5_color = input(color.blue, "", input.color, inline="5")
i_sym6_color = input(color.purple, "", input.color, inline="6")
i_sym7_color = input(color.teal, "", input.color, inline="7")
i_sym8_color = input(color.gray, "", input.color, inline="8")
i_sym9_color = input(color.lime, "", input.color, inline="9")
i_sym10_color = input(color.fuchsia, "", input.color, inline="10")
i_sym1_ticker = input("BINANCE:BTCUSDT", "", input.symbol, inline="1")
i_sym2_ticker = input("BINANCE:BTCBUSD", "", input.symbol, inline="2")
i_sym3_ticker = input("BITFINEX:BTCUSD", "", input.symbol, inline="3")
i_sym4_ticker = input("COINBASE:BTCUSD", "", input.symbol, inline="4")
i_sym5_ticker = input("BINGBON:BTCUSDT", "", input.symbol, inline="5")
i_sym6_ticker = input("BITSTAMP:BTCUSD", "", input.symbol, inline="6")
i_sym7_ticker = input("KRAKEN:XBTUSD", "", input.symbol, inline="7")
i_sym8_ticker = input("GEMINI:BTCUSD", "", input.symbol, inline="8")
i_sym9_ticker = input("OKEX:BTCUSDT", "", input.symbol, inline="9")
i_sym10_ticker = input("HUOBI:BTCUSDT", "", input.symbol, inline="10")
i_plot_style = input(PS1, "Plot style", input.string, options=[PS1,PS2])
i_single_color = input(false, "Use single color", input.bool, inline="0")
i_default_color = input(color.gray, "", input.color, inline="0")
// Variables
var int plot_style = i_plot_style == PS1 ? plot.style_columns : plot.style_histogram
var color sym1_color = i_single_color ? i_default_color : i_sym1_color
var color sym2_color = i_single_color ? i_default_color : i_sym2_color
var color sym3_color = i_single_color ? i_default_color : i_sym3_color
var color sym4_color = i_single_color ? i_default_color : i_sym4_color
var color sym5_color = i_single_color ? i_default_color : i_sym5_color
var color sym6_color = i_single_color ? i_default_color : i_sym6_color
var color sym7_color = i_single_color ? i_default_color : i_sym7_color
var color sym8_color = i_single_color ? i_default_color : i_sym8_color
var color sym9_color = i_single_color ? i_default_color : i_sym9_color
var color sym10_color = i_single_color ? i_default_color : i_sym10_color
// Functions
f_volume(_ticker) => security(_ticker, timeframe.period, volume)
// Calculations
v1 = i_sym1 ? f_volume(i_sym1_ticker) : 0
v2 = v1 + (i_sym2 ? f_volume(i_sym2_ticker) : 0)
v3 = v2 + (i_sym3 ? f_volume(i_sym3_ticker) : 0)
v4 = v3 + (i_sym4 ? f_volume(i_sym4_ticker) : 0)
v5 = v4 + (i_sym5 ? f_volume(i_sym5_ticker) : 0)
v6 = v5 + (i_sym6 ? f_volume(i_sym6_ticker) : 0)
v7 = v6 + (i_sym7 ? f_volume(i_sym7_ticker) : 0)
v8 = v7 + (i_sym8 ? f_volume(i_sym8_ticker) : 0)
v9 = v8 + (i_sym9 ? f_volume(i_sym9_ticker) : 0)
v10 = v9 + (i_sym10 ? f_volume(i_sym10_ticker) : 0)
if i_single_color
v1 := na, v2 := na, v3 := na, v4 := na, v5 := na, v6 := na, v7 := na, v8 := na, v9 := na
// Plots
plot(v10, style=plot_style, color=sym10_color, linewidth=1)
plot(v9 , style=plot_style, color=sym9_color, linewidth=1)
plot(v8 , style=plot_style, color=sym8_color, linewidth=1)
plot(v7 , style=plot_style, color=sym7_color, linewidth=1)
plot(v6 , style=plot_style, color=sym6_color, linewidth=1)
plot(v5 , style=plot_style, color=sym5_color, linewidth=1)
plot(v4 , style=plot_style, color=sym4_color, linewidth=1)
plot(v3 , style=plot_style, color=sym3_color, linewidth=1)
plot(v2 , style=plot_style, color=sym2_color, linewidth=1)
plot(v1 , style=plot_style, color=sym1_color, linewidth=1)
哪个产量
我还添加了一个选择绘图样式的选项和一个以一种颜色显示所有内容的选项。
推荐阅读
- java - Maven surefire-plugin 执行时的版本与 pom 中的不同
- android - 从示例应用代码创建 React Native 模块
- python - 如何在 fastAPI 中使用字节(不是 UploadFile)提取文件名
- python - 如何更改 abs() 或 sqrt()?
- ansible - 我无法通过版本标签从 github 安装角色
- c++ - 如果两个字母在向量中相等,如何显示公共字符
- android - 停止和重复协程的最佳方式,kotlin
- java - 冒泡排序问题通过次数(错误的输出来了)
- node.js - BotFramework-DirectLine JS - 初始消息丢失
- python - 有没有办法使用熊猫在python中结合时间和日期?