保持敬畏之心
交易是一场持久战

Pine Script(62):正确设置initial_capital,让回测更加真实

#Pine Script入门教学

在Pine Script里,initial_capital参数的作用,就像是给你的策略模拟账户存入第一笔本金,这笔钱不是越多越好,也不是越少越好,而是越真实越好。

为什么它如此重要?因为它直接决定了你的回测报告是否有参考价值,用100万的本金赚1万,和用1万的本金赚1万,这完全是两个概念。一个真实、合理的初始资金,是专业级回测的起点。

我们通过strategy()函数来设置initial_capital,比如,你想用10,000的本金开始回测,代码就这么写:

//@version=6
strategy(title="我的策略", initial_capital=10000)

initial_capital是可选参数,它的默认值是1000000.如果你不写这个参数,策略就会默认你有100万的启动资金。

学长建议永远不要满足于默认值,除非它正好就是你计划的投入金额,请务务必根据你的实际情况,设定一个有意义的初始资金。

你设定的initial_capital会从以下几个方面深刻影响你的策略回测:

  1. TradingView用初始资金来计算策略的总资金(权益),而最大回撤等关键风险指标都是基于权益计算的。
  2. 如果你采用按权益百分比的方式下单,那么初始资金越高,单笔交易的仓位就越大。
  3. 回测报告里那些百分比指标(如净利润%)是以初始资金为基数计算的。初始资金越低,同样的绝对利润,换算成的百分比就越高,反之亦然。

很多新手容易被高初始资金下平滑的百分比收益所迷惑,我建议你始终使用一个贴近你真实情况的初始资金,这样回测报告里的百分比才具有真正的参考价值,能让你更清醒地评估策略的风险收益比。

初始资金的单位,由strategy()函数里的currency参数决定,如果你不设置currency,单位就默认是图表品种的计价货币(比如EURUSD图表就是美元)。如果你想用欧元作为本金,可以这样写:

//@version=6
strategy(title="我的策略", initial_capital=10000, currency=currency.EUR)
学长避坑指南

这是新手最容易犯的致命错误!TradingView的策略测试器默认是个信用无限的土豪,只要你的下单指令是固定手数或固定金额,就算账户已经亏到倒贴(权益为负),它也照样能给你开仓。

要防止这种不切实际的回测行为,你必须主动进行风险控制,将默认下单量设置为权益的百分比。使用margin_longmargin_short参数设置保证金,要求开仓前必须有足够的权益,在下单前,用代码检查策略的资金(strategy.equity)是否充足。

我们来看一个交易超级趋势指标的简单策略,当趋势转为看涨时做多,转为看跌时平仓。

//@version=6
strategy(title="超级趋势 - 初始资金示例", overlay=true,default_qty_value=100)

[_, stDirection] = ta.supertrend(2.0, 10)

if stDirection < 0 and stDirection[1] > 0
    strategy.entry("Enter Long", strategy.long)

if stDirection > 0 and stDirection[1] < 0
    strategy.close("Enter Long", comment="Exit Long")

首先我们用默认的初始资金运行,回测报告如下:

现在,我们只改动一个地方,在strategy()函数中加入initial_capital=10000,将初始资金降为1万。

strategy(title="超级趋势 - 初始资金示例", overlay=true,initial_capital=10000, default_qty_value=100)

保存代码后,策略重新加载,你会发现结果却发生了变化:

这个对比清晰地告诉你,选择不同的初始资金,会如何影响策略的表现以及你对策略的评判。

除了在代码里设置,你也可以在策略设置窗口的属性标签页中,手动修改初始资,记住,手动设置会覆盖代码里的值。

总结

initial_capital定义了策略的起始本金,设定一个贴近你真实情况的初始资金,而不是满足于默认值。起始资金的多少,会直接影响你的仓位大小(当按权益百分比下单时)和回测报告中的各项百分比指标。最重要的是,initial_canal本身不具备风控功能,你必须主动通过保证金、动态仓位管理或代码逻辑来控制风险,防止策略在亏损后还能开出不切实际的仓位。

赞(0)
未经允许不得转载:图道交易 » Pine Script(62):正确设置initial_capital,让回测更加真实
分享到

评论 抢沙发

登录

找回密码

注册