首页 > 解决方案 > 在 RSI 交叉处保存一个值,“稍后”将其用作另一个交叉值

问题描述

全新的 PineScript,但长期的程序员。我正在尝试制定一个策略/指标,它基本上标记 RSI 交叉的价格并计算一个新值,该值比该初始交叉的价格下降一定百分比,然后检查该新值下的交叉。

我已经包含了一个视觉示例以增加清晰度(希望如此)。

在变量和范围方面,我发现 Pine 与我最习惯的 Python 和 C 非常不同。所以我问这个只是希望获得关于从哪里开始的非常基本的指导。

主要是如何持有交叉的 RSI 价格变量并在以后的交叉检查中使用它。

例子

标签: variablesscopepine-script

解决方案


valuewhen()您可以使用函数获取某个点的值,valuewhen(condition, source, occurrence) → series[float] 公式很简单,您告诉条件(在您的情况下为 rsi 交叉),要获取的值(收盘蜡烛)和出现次数(0,每次都获取它条件满足)

//@version=4
study(title="My Script", overlay = true)
rsi = rsi(close, 14)
// plot(rsi, "RSI", color=#8E1599)
upper = 70
lower = 30
// fill(upper, lower, color=#9915FF, transp=90)

val_dn = valuewhen(crossunder(rsi, lower), close, 0)
plot(val_dn, color = color.yellow)

正如您在下面的图片中看到的(我绘制了valuewhen()它以查看它是如何工作的),当 RSI 交叉出现时,将为您提供闭合蜡烛的值。

从这里我认为你可以做 n% down 部分。:)

在此处输入图像描述


推荐阅读