找不到函数或函数引用(使用 request.security)

Could not find function or function reference (using request.security)

函数bigTEMA就在那里,但是pinescript找不到。也许我用的 request.security 错了?

基本上,我只是试图在 tema 和 sma 以小时为单位上涨时触发买入,但只有在 60 分钟内收盘价低于特定平均线时。下面是代码,可能会更清楚。

  //@version=5
    
    
    strategy("XXX", overlay=true, default_qty_type=strategy.cash, default_qty_value=100, calc_on_every_tick=true)
    
    
    
  //INDICATORS
    
    temaLength = input.int(9, minval=1)
    ema1 = ta.ema(close, temaLength)
    ema2 = ta.ema(ema1, temaLength)
    ema3 = ta.ema(ema2, temaLength)
    tema = 3 * (ema1 - ema2) + ema3
    
    fastMA = ta.sma(close, 10)
    
    bigTEMA = request.security(syminfo.tickerid, "60", tema, lookahead=barmerge.lookahead_off)
    plot(bigTEMA, "TEMA", color=color.orange)
    
    bigMA = request.security(syminfo.tickerid, "60", fastMA, lookahead=barmerge.lookahead_off)
    plot(bigMA, "fastMA", color=color.orange)
    
    bigCLOSE = request.security(syminfo.tickerid, "60", close, lookahead=barmerge.lookahead_off)
    plot(bigCLOSE, "bigCLOSE", color=color.red)
    bigOPEN = request.security(syminfo.tickerid, "60", open, lookahead=barmerge.lookahead_off)
    plot(bigOPEN, "bigOPEN", color=color.green)   
    
    MAOPEN = ta.sma(open, 20)
    plot(MAOPEN, "BIGOPEN", color=color.green)
    
    MACLOSE = ta.sma(close, 20)
    plot(MACLOSE, "BIGCLOSE", color=color.red)
    
// STRATEGY CONDITIONS
    
    longCond = bigTEMA > bigTEMA(12) and bigMA > bigMA(12)
    long1 = bigCLOSE > bigOPEN and ta.crossunder(close, MAOPEN)
    long2 = bigCLOSE <= bigOPEN and ta.crossunder(close, MACLOSE)

    
    
    i_startTime = input.time(defval = timestamp("25 Jan 2022 00:00 +0000"), title = "Start Time")
    inDateRange = time >= i_startTime


// STRATEGY ENTRY
    
    if ((long1 or long2) and longCond and inDateRange)
        strategy.entry("long", strategy.long)

您没有名为 bigTEMA 的函数。您有一个名为 bigTEMA 的变量。这是一个很大的不同,也是导致您的问题的原因。 bigMA 同样的问题。

下面两行定义了两个变量。

bigTEMA = request.security(syminfo.tickerid, "60", tema, lookahead=barmerge.lookahead_off)    
bigMA = request.security(syminfo.tickerid, "60", fastMA, lookahead=barmerge.lookahead_off)

在这里你试图将这些变量用作函数并将 12 传递给它们,这是不正确的,因此是错误的。

longCond = bigTEMA > bigTEMA(12) and bigMA > bigMA(12)