首页 > 解决方案 > 如何在 Pine Script 中访问当前价格?

问题描述

我有以下代码使用 SMA 9 跨越 SMA 200,但我想使用当前价格代替 SMA 9。是否可以参考当前价格?

//@version=4

strategy ("Moving Average Cross", overlay=true, initial_capital=4000)

start = timestamp(2021,8,18,0,0)
end = timestamp(2021,10,18,0,0)

sma9 = sma(close,9)
sma200 = sma(close,200)
plot(sma9, title="9", color=#ff0000, linewidth=3)
plot(sma200, title="200", color=#0000ff, linewidth=3)

// Get user input
rsiSource = input(title="RSI Source", type=input.source, defval=close)
rsiLength = input(title="RSI Length", type=input.integer, defval=14)//defval is how many candles
rsiOverbought = input(title="RSI Overbought Level", type=input.integer, defval=58)
rsiOversold = input(title="RSI Oversold Level", type=input.integer, defval=35)
// Get RSI value
rsiValue = rsi(rsiSource, rsiLength)
isRsiOB = rsiValue >= rsiOverbought
isRsiOS = rsiValue <= rsiOversold
// Plot signals to chart
plotshape(isRsiOB, title="Overbought", location=location.abovebar, color=color.red, transp=0, style=shape.triangledown, text="OB")
plotshape(isRsiOS, title="Oversold", location=location.belowbar, color=color.green, transp=0, style=shape.triangleup, text="OS")

//long = sma9 > sma200
long = isRsiOS and (sma9 > sma200)
short =isRsiOB or (sma9 < sma200)

if time >= start and time <= end
    strategy.entry ("long", strategy.long, 100.0, when=long)
    strategy.close ("long", when=short)

标签: pine-script

解决方案


当前价格始终接近。它是当前柱的收盘价,即现在的价格,直到当前蜡烛的最后一次更新,此时新的蜡烛形成并且现在的价格仍然是“收盘价”。换句话说,关闭是实时数据流。

干杯!


推荐阅读