我写了一个这样的脚本(Pine script / Tradingview):
//@version=5
indicator("Normalized (ATR - wise) Relative strength of a stock compared to an index (daily close comparison)", "Normalized (ATR - wise) Relative strength of a stock",precision = 2)
//Input
comparativeTickerId = input.symbol("VNINDEX",title = "Comparative Symbol" )
smoothing = input.string(title="Smoothing", defval="RMA", options=["RMA", "SMA", "EMA", "WMA"])
lengthFastMA = input.int(5,minval=1, title="Fast MA")
lengthSlowMA = input.int(25,minval=1, title="Slow MA")
//Calculation
baseSymbol = request.security(syminfo.tickerid, "60", close)
fixSymbolBar = request.security(syminfo.tickerid, "D", close[1],barmerge.gaps_off, barmerge.lookahead_on)
atr_baseSymbol = request.security(syminfo.tickerid, "60", ta.atr(25))
normalizeSymbolBar = (baseSymbol-fixSymbolBar)/atr_baseSymbol
comparativeSymbol = request.security(comparativeTickerId, "60", close)
fixComparativeSymbolbar = request.security(comparativeTickerId, "D", close[1],barmerge.gaps_off, barmerge.lookahead_on) // correct
atrComparativeSymbol = request.security(comparativeTickerId,"60",ta.atr(25))
normalizeComparativeSymbol = (comparativeSymbol - fixComparativeSymbolbar)/atrComparativeSymbol
ma_function(source, length) =>
switch smoothing
"RMA" => ta.rma(source, length)
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
=> ta.wma(source, length)
res = (normalizeSymbolBar - normalizeComparativeSymbol)*100
//plot
plot(res,style = plot.style_columns, color = res > 0 ? color.blue : color.orange)
plot(ma_function(res,lengthFastMA), color = ma_function(res,lengthFastMA) > 0 ? #0c5847 : color.red, title = "Fast MA", linewidth = 2)
plot(ma_function(res,lengthSlowMA), style = plot.style_area, title = 'Slow MA', color = color.gray)简而言之,这个指标计算股票的归一化回报率与指数之间的差异。现在,我想用ta.ema(res,lengthFastMA)在60分钟的时间框架上的结束值来绘制每日时间框架上的指示符。例如,假设2022年6月30日下午23点的ta.ema(res,lengthFastMA)值在60分钟的时间段内为50,这使得2022年6月30日的每日时间框架上的指标值也是50。
有人能在这个问题上提供帮助吗?非常感谢
发布于 2022-10-13 11:32:39
my_timeframe = input.timeframe(title="Custom Timeframe", defval="1", group="Strategy parameters")
changed_data = request.security(syminfo.tickerid, my_timeframe, graph_data, gaps=barmerge.gaps_on)
plot(changed_data , title = "Your custom graph", color=color.orange)对于版本5:定义时间框架输入允许自定义从设置部分,请求安全更新与您的时间框架是不同的,为您的视图失聪,显示图表。
https://stackoverflow.com/questions/72809804
复制相似问题