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

如何在Donchian Channel交易系统中设置入场时固定的20日低点止损?

解决Donchian Channel交易系统固定初始止损的问题

核心问题在于你当前的DonchianLow会随K线不断更新,无法保留入场时刻的20日低点。要实现固定止损,需要在入场时记录当时的20日低点,并将其存储为变量,后续止损时调用这个固定值。

实现步骤:

  • 定义专用变量存储入场时的止损基准值,避免实时更新覆盖
  • 仅在触发入场信号且无持仓时,更新该变量的值
  • 止损指令直接调用存储的固定值,而非实时计算的通道低点

完整示例代码:

//@version=5
strategy("Donchian Channel Fixed Stop", overlay=true, default_qty_type=strategy.cash, default_qty_value=10000)

// 计算唐奇安通道高低点
donchianHigh = ta.highest(close[1], 20)
donchianLow = ta.lowest(close[1], 20)

// 初始化固定止损变量(var关键字确保不随K线重置)
var float longStopLevel = na
var float shortStopLevel = na

// 做多信号与入场逻辑
longCondition = ta.crossover(close, donchianHigh)
if (longCondition and strategy.position_size == 0)
    strategy.entry("Long", strategy.long)
    // 入场时记录当前的20日低点作为固定止损
    longStopLevel := donchianLow

// 做空信号与入场逻辑
shortCondition = ta.crossunder(close, donchianLow)
if (shortCondition and strategy.position_size == 0)
    strategy.entry("Short", strategy.short)
    // 入场时记录当前的20日高点作为固定止损
    shortStopLevel := donchianHigh

// 固定止损离场
strategy.exit("Exit Long", from_entry="Long", stop=longStopLevel)
strategy.exit("Exit Short", from_entry="Short", stop=shortStopLevel)

// 绘制唐奇安通道
plot(donchianHigh, color=color.blue, title="Donchian High")
plot(donchianLow, color=color.red, title="Donchian Low")

关键说明:

  • var关键字让变量仅初始化一次,后续仅在入场时更新,保证止损位全程固定
  • 做多止损绑定入场瞬间的20日低点,做空止损绑定入场瞬间的20日高点,完全符合需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 10:15:54