我正在尝试在交易视图中使用 pine-script 开发多个时间范围 RSI,但我似乎对长期图表视图中的短期 RSI 存在问题。
例如,以下代码将显示 5 分钟 RSI。如果我将图表设置为 5 分钟,它将正确显示 RSI。但是,当我选择更大的时间范围(例如 1 小时等)时,该值就会变得不正确。
study("Multi Time Frame RSI", "MTF RSI", overlay=false)
src = input(title="Source", type=source, defval=close)
_5min_rsi = security(tickerid, "5", rsi(src, 14))
plot(_5min_rsi, title="5min_RSI", color=purple, linewidth=1)
Run Code Online (Sandbox Code Playgroud)
我认为问题与正在操作的系列数据有关。由于某种原因,当我使用“5”的安全性作为我的分辨率时,其数据会在较高的时间范围图表中丢失,并且它使用当时不同系列的收盘价。至少这是我的假设。我相信我错误地使用了“security”函数,或者可能向 RSI 函数提供了错误的输入“src”。
我还尝试切换 RSI 和安全性,看看是否可以获取 5 分钟系列数据并将其输入到我的 RSI 函数中,但这并没有更好的效果。例如
_5min_rsi = rsi(security(tickerid, "5", src), 14)
Run Code Online (Sandbox Code Playgroud)
本质上,我需要看到的是,无论我在交易视图中处于什么时间范围,我都应该看到正确计算的 5 分钟 RSI。在当前状态下,代码只能在 1 分钟和 5 分钟的时间范围内运行,这显然是不可接受的。
小智 5
在玩了一下这个security()函数之后,我认为这个security()函数不是这样工作的。
如果我们将分辨率设置为"1"(即 1 分钟)并转到图表1D,我们将仅获得每个每日柱的最后一分钟柱的值。
out = security("AAPL", "1", close)
Run Code Online (Sandbox Code Playgroud)
如果我们将它们设置为相反("D"对于分辨率和1m图表),所有分钟柱将是相同的 - 它们从最后一个每日柱获取其值。
out = security("AAPL", "D", close)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14073 次 |
| 最近记录: |