#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)
Комментарии:
1. Заменить
sma9 = sma(close,9)
наsma9 = close
Ответ №1:
Текущая цена всегда близка. Это цена закрытия текущего бара, которая является ценой сейчас до последнего обновления текущей свечи, в это время формируется новая свеча, и цена сейчас все еще «закрыта». Другими словами, close-это поток данных в реальном времени.
Ура!