Pine 脚本中 calc_on_every_tick=true 时如何获取前一个刻度的值?

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

我正在开发 Pine 脚本,我需要在每次更新时更新计算。我已经设置了

calc_on_every_tick=true
,但我很难访问上一个刻度的值。

例如,我想将当前价格变动的收盘值与前一个价格变动的收盘值进行比较。使用

close[1]
检索上一个完整柱的收盘价,而不是上一个价格变动。

如何在 Pine 脚本中实现这一目标?具体来说,我想确定当前报价的收盘价是否高于前一个报价的收盘价。任何建议或代码片段将不胜感激!谢谢你。

pine-script pine-script-v5
1个回答
0
投票

您的脚本将在每次报价时执行。因此,您需要一个变量类型,该变量类型将在同一柱上的执行过程中保持其值。因此,您需要

varip
变量。

瓦里普

varip (var intrabar persist) 是用于赋值的关键字 以及用户定义的变量或字段的一次性初始化 类型。它与 var 关键字类似,但变量和字段 用varip声明的在执行之间保留它们的值 脚本在同一个栏上。

//@version=5
strategy("My strategy", overlay=true, calc_on_every_tick = true)

varip float prev_tick = na
varip float last_tick = na

prev_tick := last_tick
last_tick := close

plotchar(prev_tick, "prev_tick", "")
plotchar(last_tick, "last_tick", "")
© www.soinside.com 2019 - 2024. All rights reserved.