【问题标题】:Pine Script for loop用于循环的 Pine 脚本
【发布时间】:2020-10-14 10:44:06
【问题描述】:

我正在尝试制作一个脚本,其中 TradingView 显示包含所有代码结果的标签。我真的想要一个循环来获取代码以捕获多个代码的所有数据(Heikin-Ashi 图表)。下面的代码不能正常工作。

因此,对于每个代码,循环都需要检查 result = true;如果是这样,则需要将代码添加到标签中:

s20ema = ema(close, 20)
s50sma = sma(close, 50)
s200sma = sma(close, 200)

scr_label = 'Screener: \n##########\n'

ticker_s1 = 'ADAUSDT'
ticker_s2 = 'ADXBTC'
ticker_s3 = 'AEBTC'
ticker_s4 = 'AGIBTC'
ticker_s5 = 'AIONBTC'

ha_period = "W" // Chart on which Master Direction is based
ha_open = security(heikinashi(ticker_s1), ha_period, open)
ha_close = security(heikinashi(ticker_s1), ha_period, close)

customFuncW() => (s20ema > s50sma) and (s50sma > s200sma) and (ha_close < ha_open)

s1  = security(ticker_s1,  'W', customFuncW())
s2  = security('ADXBTC',  'W', customFuncW())
s3  = security('AEBTC',  'W', customFuncW())
s4  = security('AGIBTC',  'W', customFuncW())
s5  = security('AIONBTC',  'W', customFuncW())

s = 1
for i = 0 to 5 
    s := s + 1
    scr_label := s[i] ? scr_label + ticker_s[i] + '\n' : scr_label  

lab_l = label.new(
    bar_index, -0.2, scr_label, 
    color=color.gray, 
    textcolor=color.black, 
    style =  label.style_labeldown,
    yloc = yloc.price)

label.delete(lab_l[1])

plot(0, transp = 100)

这段代码给了我一个“未声明标识符'ticker_s'”(for循环中的那个)。有人有想法吗?!

【问题讨论】:

  • s1s[1]不一样,ticker_s1不等于ticker_s[1]

标签: loops pine-script


【解决方案1】:

变量 i=0 的 for 循环开始 所以第一个得到 s[0]

并且没有声明 s0 我认为你应该从 I=1 开始

【讨论】:

    猜你喜欢
    • 2022-01-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 2022-01-15
    • 2022-01-23
    • 2017-10-05
    • 2014-04-18
    • 1970-01-01
    相关资源
    最近更新 更多