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

如何基于Modified MACD的PineScript在TradingView中创建Strategy Tester?

基于Modified MACD代码创建TradingView策略测试器

要把这段显示Modified MACD交叉线的指标代码改成可回测的策略脚本,按以下步骤调整即可:

核心修改要点

  • 替换入口函数:把开头的study()换成strategy(),这是TradingView策略脚本的专属入口,还可设置初始资金、手续费等测试参数。
  • 定义交易信号:基于绿线(MACD线)和红线(信号线)的交叉生成操作信号:
    • 金叉:绿线上穿红线 → 开多单
    • 死叉:绿线下穿红线 → 开空单(或平掉现有多单后开空)
  • 添加执行指令:用strategy.entry()和strategy.close()实现自动开平仓逻辑。

修改后的完整策略代码

//@version=2
strategy("ModMACD 交叉策略测试", shorttitle="MODMACD Strategy", overlay=false, initial_capital=10000, commission_type=strategy.commission.percent, commission_value=0.1)

p = close
len = input(8, minval=1, title="MACD线周期")
f = (1.414*3.14159)/len
a = exp(-f)
c2 = 2*a*cos(f)
c3 = -a*a
c1 = 1-c2-c3
ssmooth = c1*(p+p[1])*0.5+c2*nz(ssmooth[1])+c3*nz(ssmooth[2])

len2 = input(13, minval=1, title="信号线周期")
f2 = (1.414*3.14159)/len2
a2 = exp(-f2)
c22 = 2*a2*cos(f2)
c32 = -a2*a2
c12 = 1-c22-c32
ssmooth2 = c12*(p+p[1])*0.5+c22*nz(ssmooth2[1])+c32*nz(ssmooth2[2])
macd = (ssmooth - ssmooth2)*10000000

len3 = input(3, minval=1, title="信号线平滑周期")
f3 = (1.414*3.14159)/len3
a3 = exp(-f3)
c23 = 2*a3*cos(f3)
c33 = -a3*a3
c13 = 1-c23-c33
ssmooth3 = c13*(macd+macd[1])*0.5+c23*nz(ssmooth3[1])+c33*nz(ssmooth3[2])

// 定义交易信号
long_signal = crossover(macd, ssmooth3)
short_signal = crossunder(macd, ssmooth3)

// 执行策略:金叉开多、平空;死叉开空、平多
if (long_signal)
    strategy.entry("Long", strategy.long)
    strategy.close("Short")

if (short_signal)
    strategy.entry("Short", strategy.short)
    strategy.close("Long")

// 保留原指标绘图
plot(macd, color=green, linewidth=2)
plot(ssmooth3, color=red, linewidth=2)

策略测试操作流程

  1. 将上述代码复制到TradingView的Pine编辑器,点击「添加到图表」。
  2. 切换到图表顶部的「Strategy」标签页,可自定义测试参数:
    • 调整初始资金、手续费比例
    • 选择测试的时间范围、K线周期
    • 查看绩效报告(胜率、盈亏比、最大回撤等核心数据)
  3. 通过「Strategy Tester」面板,还能测试不同参数组合,优化策略表现。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 06:32:11