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

TradingView Pine Script策略:止损设置与退出条件修正需求

TradingView Pine Script 策略优化:修复止损与退出逻辑问题

问题分析

你当前的策略存在两个核心问题:

  • 止损设置方式错误,导致50点止损未生效
  • 退出条件未限制RSI必须先跌破40,只要上穿50就平仓,不符合需求

优化后的完整代码

//@version=5
strategy(title="RSI 空头策略", process_orders_on_close=true, use_bar_magnifier=true, overlay=true)

// RSI 指标计算
rsi_period = input.int(14, title="RSI 周期")
rsi = ta.rsi(close, rsi_period)

// 追踪RSI是否跌破过40的标记
var bool rsi_has_below_40 = false

// 空头入场条件:RSI下穿60
if ta.crossunder(rsi, 60)
    strategy.entry("Enter Short", strategy.short)
    // 入场后重置标记(新头寸需要重新判断RSI是否跌破40)
    rsi_has_below_40 := false

// 记录RSI跌破40的事件
if ta.crossunder(rsi, 40)
    rsi_has_below_40 := true

// 止损设置:空头头寸止损为入场价+50点
strategy.exit("Exit Short", "Enter Short", stop=strategy.entry_price("Enter Short") + 50, comment="止损离场")

// 盈利退出条件:RSI先跌破40,之后上穿50时平仓
if ta.crossover(rsi, 50) and rsi_has_below_40
    strategy.close("Enter Short", comment="RSI条件离场")
    // 平仓后重置标记
    rsi_has_below_40 := false

关键改动说明

  • 止损修复:
    直接在strategy.entry中使用stop=50是错误的,因为该参数接受的是绝对价格而非点数。改用strategy.exit,通过strategy.entry_price("Enter Short") + 50计算空头止损价(空头头寸止损在入场价上方,防止价格上涨触发止损),确保50点止损生效。

  • 退出逻辑优化:
    添加var bool rsi_has_below_40变量追踪RSI是否跌破过40:

    • 每次入场时重置标记,保证新头寸的判断独立性
    • 当RSI下穿40时将标记设为true
    • 仅当RSI上穿50且标记为true时才平仓,满足"先跌破40再上穿50"的退出要求
    • 平仓后重置标记,避免影响下一次头寸判断

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 02:15:16