TradingView PineScript实现:两证券5天价格走势领先关系对比
简洁实现证券价格领先5天对比的PineScript方案
嘿,这事儿简单!既然你PineScript基础薄弱,咱们完全遵循KISS原则,用最直白的逻辑来实现——核心就是把你认为滞后的证券的价格数据往前偏移5天,让两者的走势在时间轴上对齐,一眼就能看清领先关系!
核心思路
把滞后证券的价格用ta.shift()函数往前偏移5个周期(如果是日线图,就是5天),这样原本滞后5天的走势,会直接和领先证券的当前走势放在同一时间点上,对比起来特别直观。
极简实现代码
//@version=5 indicator("价格领先对比", overlay=false) // 自定义输入:你要对比的两个证券,以及领先天数 leadTicker = input.symbol("SPX", label="领先证券代码") lagTicker = input.symbol("NDX", label="滞后证券代码") leadDays = input.int(5, label="领先天数", minval=1) // 获取两个证券的收盘价(自动适配当前图表时间周期) leadClose = request.security(leadTicker, timeframe.period, close) lagClose = request.security(lagTicker, timeframe.period, close) // 关键:把滞后证券的价格往前偏移leadDays天 shiftedLagClose = ta.shift(lagClose, -leadDays) // 用不同颜色绘制两条价格线,方便对比 plot(leadClose, color=color.new(color.blue, 0), title="领先证券价格") plot(shiftedLagClose, color=color.new(color.red, 0), title="滞后证券(偏移后)价格")
代码说明
request.security():用来获取指定证券的价格数据,timeframe.period会自动匹配你当前图表的时间周期(比如你看日线图,就取日线收盘价;看小时线就取小时线数据)。ta.shift(lagClose, -leadDays):负数偏移代表把数据往前移动,比如原本第6天的滞后证券收盘价,现在会显示在第1天的位置,刚好和领先证券第1天的价格对齐,你能直接看到5天后滞后证券的走势是否和现在领先证券的走势一致。- 最后用蓝红两色绘制价格线,对比起来清晰明了。
使用提示
- 如果你用的不是日线图(比如小时线),记得调整
leadDays的数值——比如你想对比领先5小时,就把数值改成5。 - 直接在TradingView新建PineScript脚本,粘贴这段代码,替换
leadTicker和lagTicker为你要对比的证券代码即可运行。
内容的提问来源于stack exchange,提问作者Niall McCourt
相关产品推荐
相关产品推荐

