如何“存储”较长时间范围内的最新值?

问题描述 投票:0回答:1

我正在尝试在脚本中添加一个具有 5 分钟时间范围的过滤器,用于过滤最新的可用 15 分钟 MACD 趋势。如何存储 15 分钟时间范围内的最新返回值,直到有新值可用? 因此,如果 MACD 在 15 分钟时间范围内向下倾斜,我想将其应用为我的(5 分钟)脚本中的过滤器,直到 MACD 再次开始向上倾斜(15 分钟)。

我开始了,但卡住了......

// *** Filter for 15 min MACD

// Time Frame for LT MACD
LT = '15'

// Calculate MACD for LT (15-minute) time frame using closed bars
fastMA_LT = request.security(syminfo.tickerid, LT, ta.ema(close, fastLength),    lookahead=barmerge.lookahead_off)
slowMA_LT = request.security(syminfo.tickerid, LT, ta.ema(close, slowLength),   lookahead=barmerge.lookahead_off)
LT_macd = fastMA_LT - slowMA_LT

// Determine if the LT MACD is increasing or decreasing
isUpTrend = LT_macd > nz(LT_macd[1])
isDownTrend = LT_macd < nz(LT_macd[1])
pine-script pine-script-v5
1个回答
0
投票

如果您想存储一个值并保留其值直到您显式修改它,您可以使用

var
关键字。

var

var 是用于赋值和一次性初始化的关键字 变量。

此外,您可以直接将

macd
传递给
request.security()
并检索元组。

[macdLine, signalLine, histLine] = request.security(syminfo.tickerid, LT, ta.macd(close, 12, 26, 9))
© www.soinside.com 2019 - 2024. All rights reserved.