Pine Script技术咨询:条件触发时如何实时获取对应即时价格
解决Pine Script条件触发时获取真实价格的问题
你要的是条件触发时直接锁定当时的真实价格,而非固定用open/close这类预设source,还要支持实时模式、K线生成时确定价格,以下是具体方案:
核心思路
不用死磕ta.valuewhen的source参数,通过变量锁定+实时价格捕捉的方式精准获取触发瞬间的价格:
- 实时行情中,
close代表当前最新成交价,用它捕捉触发瞬间的真实价格 - 用
var声明变量,避免每根K线重置,确保触发后的价格被保留 - 可配合
barstate.isconfirmed控制是实时触发还是等K线确认后再取值
修正后的代码示例
// 替换成你的实际触发条件 show_short = ta.crossover(ta.rsi(close, 14), 30) // 初始化价格变量,var确保只初始化一次 var float preis_short = na // 条件触发时,实时锁定当前真实价格 if show_short preis_short := close // 若需获取历史触发价,用ta.valuewhen搭配close即可 preis_short_latest = ta.valuewhen(show_short, close, 0)
额外控制选项
如果需要等K线完全生成(收盘)后再确定价格,给条件加上barstate.isconfirmed:
if show_short and barstate.isconfirmed preis_short := close
内容的提问来源于stack exchange,提问作者Max
相关产品推荐
相关产品推荐

