【问题标题】:How to get close price for normal candles in Pine script while using Heikin Ashi candles?使用 Heikin Ashi 蜡烛时,如何在 Pine 脚本中获得普通蜡烛的收盘价?
【发布时间】:2019-06-17 23:01:27
【问题描述】:

我想在 Pine 脚本 3 中绘制当前 Heikin Ashi (HA) 收盘价和实际收盘价(在普通蜡烛上)之间的差异。

如果我在图表上使用普通蜡烛似乎可以工作,但如果我使用 Heikin Ashi,我会得到 HA 收盘价而不是正常收盘价。

HAclose = security(heikinashi(tickerid), period, close)
NormalClose = security(tickerid, period, close)

plot(HAclose, offset=1, show_last=1)
plot(NormalClose, offset=1, show_last=1)

上面的代码预计在最后一根蜡烛前面画两条线,显示 HA 收盘价和正常收盘价。如果图表设置为普通蜡烛,它会这样做,但在 HA 蜡烛上,这些蜡烛具有相同的值 - HA 关闭。如果我只使用close,也是一样。

有没有办法明确说明普通蜡烛的价格?

【问题讨论】:

  • 当您使用不同类型的烛台类型时,我认为不可能参考正常的烛台价格。我浏览了参考手册,但找不到内置变量。
  • 我能够通过将tickerid硬编码到安全性中来获得真实价格:security("BITMEX:ETHUSD", period, close)。也许 HA 会以某种方式更改tickerid?我也许可以将其解析回来,但不确定 Pine 是否有能力。也许用ticker 和其他东西构造tickerid

标签: pine-script


【解决方案1】:

阅读 cmets 后,我能够破解它使用 syminfo.prefixticker

//@version=3
study("Actual price for HA candles") //, overlay=false)
selected_interval = input(title="Interval", defval="D", type=resolution)
// selected_interval = tostring(interval)

actual_close = plot(security(syminfo.prefix + ":" + ticker, selected_interval, close), color=green)
HA_close = plot(security(tickerid, selected_interval, close), color=red)

fill(actual_close, HA_close, color=color(purple,0))

我也尝试将间隔设为自动,但我没有成功,因为 interval 变量只返回间隔乘数,所以它在某些时间范围内表现得很奇怪。

我在 BITMEX:ETHUSD 日线图上对此进行了测试 - 如果您查看 2019 年 6 月 12 日并选择了 HA 蜡烛,您会看到实际收盘价为 263.05(绿色数字),而 HA 收盘价为 254.00(红色数字)。

【讨论】:

  • 感谢您的解决方案。对于 Pine Script 5,像 float regular_close = request.security(ticker.new(syminfo.prefix, syminfo.ticker), "", close) 一样使用ticker.new(...)。注意:时间范围的空字符串是当前时间范围。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-04
  • 1970-01-01
  • 1970-01-01
  • 2023-01-27
  • 1970-01-01
  • 1970-01-01
  • 2022-10-15
相关资源
最近更新 更多