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

TradingView回测无结果,Pine Script编写的威廉鳄鱼+EMA+VWAP交易策略求优化

代码核心错误排查
  • 参数和指标值混淆:你在开仓判断中误用了teethLength、lipsLength这类长度参数(默认值为8、5的固定数值),而非威廉鳄鱼的实际线值teeth、lips,导致条件几乎不可能成立,无开仓信号。
  • 开仓逻辑矛盾:你同时要求longcondition2 = crossunder(priceSMA, vwap)(价格下穿VWAP)和longcondition3 = crossover(priceSMA,vwap)(价格上穿VWAP),两个条件不可能在同一根K线同时触发,自然没有回测结果。
  • 规则不匹配:现有条件完全没有匹配你描述的「收盘价位于威廉鳄鱼唇线和齿线之间」的规则,额外加的strategy.entry的when参数又加了一层错误判断,进一步阻断了开仓可能。
  • 无效变量:priceSMA = sma(close,1)等价于直接取close,属于冗余变量,直接用close即可。
修复后的核心逻辑参考
// 修正后的多头条件,匹配你描述的规则
// 1. 价格高于600周期EMA
longcondition1 = close > out
// 2. 价格近3根K线内回落触及过VWAP
longcondition2 = ta.low <= vwap and ta.high >= vwap in 3
// 3. 收盘价位于唇线和齿线之间
longcondition3 = (close > lips and close < teeth) or (close < lips and close > teeth)

if (longcondition1 and longcondition2 and longcondition3)
    stopLoss = lowest(low, 30)
    takeProfit = (close - stopLoss) * 2 + close
    strategy.entry("long", strategy.long, 100)
    strategy.exit("exit", "long", stop=stopLoss, limit=takeProfit)

// 空头条件按你需求参考上述逻辑对应修改即可
优化方向
  • 处理威廉鳄鱼的偏移属性:你当前设置了鳄鱼线的偏移参数(唇线偏移3、齿线偏移5、 jaw偏移8),如果不做对应处理直接判断当前K线的鳄鱼值,会隐含未来函数风险,建议要么判断对应偏移周期前的K线价格,要么去掉偏移参数后再做开仓判断。
  • 适配VWAP适用周期:VWAP是日内指标,仅在1小时及以下的日内周期有效,日线及以上周期回测时VWAP会失效,需确认回测周期匹配。
  • 优化止损止盈逻辑:不要固定用30周期高低点计算盈亏比,可引入ATR指标适配不同品种的波动率,避免止损过窄/止盈过宽的问题。
  • 增加回测真实度:可在strategy声明中加入slippage、commission_type、commission_value参数,把滑点、手续费计入回测,结果更贴合实盘。
  • 增加持仓限制:可通过strategy.risk.allow_entry_in、strategy.opentrades限制最大持仓数,避免同一方向重复开仓。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 06:15:01