如何在不同的时间范围内计算公式

How to calculate an formula in a different timeframe

假设我有这段代码来计算 SMIsignal 和 emasignal 。

//@version=4
study("test", overlay=true)

    a = 20
    b = 2
    ob = 40
    os = -40
    // Range Calculation
    ll = lowest (low, a)
    hh = highest (high, a)
    diff = hh - ll
    rdiff = close - (hh+ll)/2
    avgrel = ema(ema(rdiff,b),b)
    avgdiff = ema(ema(diff,b),b)
    SMI = avgdiff != 0 ? (avgrel/(avgdiff/2)*100) : 0

    ////////////////////////////////////////
    SMIsignal = ema(SMI,b)
    emasignal = ema(SMI, 10)

交易视图将计算交易视图中使用的时间范围的值,例如20分钟 。 如果我要为不同的时间范围(例如 7 分钟)计算 SMIsignal 和 emasignal,我应该使用什么代码?

使用security函数

示例:

// both in same timeframe but the chart in different timeframe 
[_smi, _ema] =security(syminfo.tickerid, "7", [SMIsignal, emasignal])

// 7-min resolution
_smi = security(syminfo.tickerid, "7", SMIsignal)
// 20-min resolution
_ema = security(syminfo.tickerid, "20", emasignal)

查看更多信息https://www.tradingview.com/pine-script-reference/#fun_security