Pine 脚本 - 内部相乘时出现问题 "show_last"
Pine Script - Problem when multipliying inside "show_last"
我正在尝试使用 pine 脚本在 Tradingview 中创建重播模式。
但是在处理不同的时间范围并将它们同步在一起时有点麻烦。
我正在尝试使用 show_last 的 plotcandle 函数隐藏蜡烛图,但是在切换时间范围时,我还需要自动更改 show_last 数字。因此尝试将用户输入与当前时间范围分开。
例如,
如果是 1 分钟,那么我将用户输入除以 1
如果是 15 分钟,那么我将用户输入除以 15
然后我将得到所有时间范围内应该隐藏的蜡烛的确切数量
但是当我尝试使用“show_last”中的乘数时出现错误
请尽快帮忙
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © FAHEEMSAM
//@version=4
study("Replay Pro")
body = if close > open
color.green
else if close < open
color.red
else if close == open
color.black
timeframe = if timeframe.period == "1"
1
else if timeframe.period == "3"
3
else if timeframe.period == "5"
5
else if timeframe.period == "15"
15
else if timeframe.period == "30"
30
display = input(title="Display", type=input.integer, defval=1, minval=1) * timeframe
plotcandle(open, high, low, close, color= body, wickcolor = color.black, bordercolor = color.black)
plotcandle(open, high, low, close, color= color.white, wickcolor = color.white, bordercolor = color.white, show_last=display)
正如 plotcandle()
的 refman 条目提到的,show_last
的参数必须是“输入整数”类型,这意味着它可以使用输入值,但不能使用随后使用的值在您正在进行的计算中,因为它会变成一个“简单整数”,这对于该特定参数是不允许的。
一种解决方法,如果您可以计算出在哪些柱上开始打印,则可以为您的 ``plotcandle()` 调用使用条件值:
cond = ...
plotcandle(cond ? open : na, cond ? high : na, ...)
我正在尝试使用 pine 脚本在 Tradingview 中创建重播模式。 但是在处理不同的时间范围并将它们同步在一起时有点麻烦。
我正在尝试使用 show_last 的 plotcandle 函数隐藏蜡烛图,但是在切换时间范围时,我还需要自动更改 show_last 数字。因此尝试将用户输入与当前时间范围分开。
例如, 如果是 1 分钟,那么我将用户输入除以 1 如果是 15 分钟,那么我将用户输入除以 15
然后我将得到所有时间范围内应该隐藏的蜡烛的确切数量
但是当我尝试使用“show_last”中的乘数时出现错误
请尽快帮忙
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © FAHEEMSAM
//@version=4
study("Replay Pro")
body = if close > open
color.green
else if close < open
color.red
else if close == open
color.black
timeframe = if timeframe.period == "1"
1
else if timeframe.period == "3"
3
else if timeframe.period == "5"
5
else if timeframe.period == "15"
15
else if timeframe.period == "30"
30
display = input(title="Display", type=input.integer, defval=1, minval=1) * timeframe
plotcandle(open, high, low, close, color= body, wickcolor = color.black, bordercolor = color.black)
plotcandle(open, high, low, close, color= color.white, wickcolor = color.white, bordercolor = color.white, show_last=display)
正如 plotcandle()
的 refman 条目提到的,show_last
的参数必须是“输入整数”类型,这意味着它可以使用输入值,但不能使用随后使用的值在您正在进行的计算中,因为它会变成一个“简单整数”,这对于该特定参数是不允许的。
一种解决方法,如果您可以计算出在哪些柱上开始打印,则可以为您的 ``plotcandle()` 调用使用条件值:
cond = ...
plotcandle(cond ? open : na, cond ? high : na, ...)