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

如何编写Pinescript策略实现每日美东时间18点开仓及止盈止损设置

解决思路与可直接运行的Pine Script代码

核心难点:美东时间18:00触发布尔变量实现

Pine Script内置了时区处理能力,不需要手动计算冬夏令时的UTC偏移,直接使用America/New_York时区标识即可匹配美东时间:

// 美东时间18:00收盘K线判断布尔变量
is_trigger_time = hour(close_time, "America/New_York") == 18 and minute(close_time, "America/New_York") == 0

注意:该判断仅在K线周期≤1小时的图表上生效,若使用4小时、日线等更长周期,18:00时间点无法匹配到单根K线的收盘时间。


完整策略代码

//@version=5
strategy("美东18点ATR策略", overlay=true, initial_capital=10000, default_qty_type=strategy.cash, default_qty_value=1000, commission_type=strategy.commission.percent, commission_value=0.1)

// 参数设置
atr_length = input.int(14, title="ATR周期")
sl_multiplier = input.float(2.0, title="止损ATR倍数")
tp_multiplier = input.float(4.0, title="止盈ATR倍数") // SL的2倍即2*2=4倍ATR

// 计算ATR
atr_val = ta.atr(atr_length)

// 美东时间18:00触发判断
is_trade_time = hour(close_time, "America/New_York") == 18 and minute(close_time, "America/New_York") == 0

// 开仓逻辑:无持仓时在触发时间开多单,需开空可替换为strategy.short
if is_trade_time and strategy.position_size == 0
    strategy.entry("开仓", strategy.long)

// 止损止盈设置
if strategy.position_size != 0
    strategy.exit("平仓", "开仓", stop=strategy.position_avg_price - atr_val * sl_multiplier, limit=strategy.position_avg_price + atr_val * tp_multiplier)

// 绘制止损止盈线(可选)
plot(strategy.position_size != 0 ? strategy.position_avg_price - atr_val * sl_multiplier : na, color=color.new(color.red, 0), style=plot.style_linebr, title="止损线")
plot(strategy.position_size != 0 ? strategy.position_avg_price + atr_val * tp_multiplier : na, color=color.new(color.green, 0), style=plot.style_linebr, title="止盈线")

代码说明

  • 所有参数都已做成可调整的输入项,你可以根据需求修改ATR周期、止损止盈倍数
  • 默认按每次开仓1000美金计算,可在策略设置里调整仓位规则
  • 自动适配美东冬夏令时切换,不需要手动调整时间偏移

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 04:09:01