【问题标题】:Converting series integer to integer in pinescript在pinescript中将系列整数转换为整数
【发布时间】:2021-01-17 19:31:13
【问题描述】:

我正在使用 pinescript,我一直在试图弄清楚为什么以下代码不起作用。控制台不断显示 series[integer] 无法输出整数。我了解系列与非系列值不兼容。如果是这种情况,有没有办法将 series[integer] 更改为 integer?

以下代码不起作用:

x = barssince(crossover(cci,100))
y = barssince(crossover(100,cci))
xy = x-y //in this case the xy value is 9
z = highest(cci, abs(xy))
plot(z)

以下代码有效:

z = highest(cci, 9) //assuming xy is 9
plot(z)

任何帮助将不胜感激。谢谢

托马斯

【问题讨论】:

  • 你想在 x 和 y 柱之间找到一个高点吗?
  • 是的,你是对的。我的方法是找到 x 和 y 之间的柱数,然后使用最高 () 函数找到峰值,但最高函数 () 只接受常数整数。我正在尝试解决这个问题,因为显然每个峰值都可能出现在不同数量的柱之间
  • 看这个问题的答案stackoverflow.com/questions/65704469/…如果你自己没有成功,那么我会尽力帮助。

标签: integer series pine-script algorithmic-trading


【解决方案1】:

无法在 pinescript 中将系列整数转换为整数。 因此,有必要寻找解决方法。在您的情况下,您可以使用以下脚本。

//@version=4
study("Help (hi/lo between conditions)")

cci = cci(close, 14)
plot(cci, title="cci")
hline(100)
hline(-100)

up_top_boder = crossover(cci,100)
dn_top_boder = crossunder(cci,100)
up_bottom_boder = crossover(cci,-100)
dn_bottom_boder = crossunder(cci,-100)

hi = float(na)
lo = float(na)
var look_hi = false
var look_lo = false
if up_top_boder or look_hi   
    if dn_top_boder          
        look_hi := false
    else    
        look_hi := true
        hi := max(cci, nz(hi[1]))
    
if dn_bottom_boder or look_lo   
    if up_bottom_boder          
        look_lo := false
    else    
        look_lo := true
        lo := min(cci, nz(lo[1]))
        
plot(hi, title="hi", style=plot.style_circles, linewidth=2, color=color.green)
plot(lo, title="lo", style=plot.style_circles, linewidth=2, color=color.red)

【讨论】:

  • 非常感谢您的帮助,非常感谢您的帮助
  • 如果您的答案是完整的,请使用article 的建议。
  • @AnyDozer 您是否真的将系列转换为 int 或其他内容,您的 sn-p 没有任何解释
  • @lasec0203 无法在 pinescript 中将系列整数转换为整数。因此,有必要寻找解决方法。
猜你喜欢
  • 1970-01-01
  • 2016-02-04
  • 2013-10-02
  • 1970-01-01
  • 2020-01-23
  • 1970-01-01
  • 2011-10-05
  • 1970-01-01
  • 2017-06-02
相关资源
最近更新 更多