首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何利用较低时间帧指标的日终值来绘制高时间帧指示符?[松树脚本] /[Tradingview]

如何利用较低时间帧指标的日终值来绘制高时间帧指示符?[松树脚本] /[Tradingview]
EN

Stack Overflow用户
提问于 2022-06-30 02:47:10
回答 1查看 268关注 0票数 0

我写了一个这样的脚本(Pine script / Tradingview):

代码语言:javascript
运行
复制
//@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。

有人能在这个问题上提供帮助吗?非常感谢

EN

回答 1

Stack Overflow用户

发布于 2022-10-13 11:32:39

代码语言:javascript
运行
复制
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:定义时间框架输入允许自定义从设置部分,请求安全更新与您的时间框架是不同的,为您的视图失聪,显示图表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72809804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档