You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TradingView Pine Script特定日期行权价绘制及趋势线生成问题

完整解决方案代码(Pine Script v5)

//@version=5
indicator("Entry to Strike Trendline", overlay=true)

// 自定义输入参数
entry_time = input.time(defval = timestamp("8/31/2021 09:30"), title = "入场日期时间")
short_strike = input.float(defval = 4400.0, title = "卖出行权价", step = 0.1)
// 默认结束时间为入场当日收盘,可自行修改
end_time = input.time(defval = timestamp(year(entry_time), month(entry_time), dayofmonth(entry_time), 16, 0), title = "结束时间")

// 1. 限定范围的行权价水平线绘制
strike_line = time >= entry_time and time <= end_time ? short_strike : na
plot(strike_line, color = color.new(color.red, 0), linewidth = 2, title = "行权价线")

// 2. 入场点到行权价的趋势线绘制
var line trend_line = na
if barstate.islastconfirmedhistory and na(trend_line)
    // 定位入场时间对应的K线位置和价格
    entry_bar_idx = ta.valuewhen(time == entry_time, bar_index, 0)
    entry_price = ta.valuewhen(time == entry_time, close, 0)
    // 定位结束时间对应的K线位置
    end_bar_idx = ta.valuewhen(time == end_time, bar_index, 0)
    // 创建趋势线
    trend_line := line.new(x1 = entry_bar_idx, y1 = entry_price, x2 = end_bar_idx, y2 = short_strike, color = color.new(color.blue, 0), width = 2, style = line.style_dashed)

核心改动说明

  • 行权价线范围限制:去掉原代码中带var声明的持久化变量,通过三元表达式动态判断当前K线是否在指定时间区间内,超出区间时返回na,plot函数遇到na会自动中断绘制,自然限制了线条显示范围。
  • 趋势线实现:通过var声明line对象仅初始化一次,避免重复生成冗余线条,使用ta.valuewhen定位入场、结束时间对应的K线位置,以入场点收盘价为起点、结束时间的行权价为终点绘制趋势线。
  • 如需兼容Pine Script v4,只需将indicator替换为study,ta.valuewhen替换为valuewhen即可。

内容的提问来源于stack exchange,提问作者user1015196

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 22:51:02