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

如何获取策略执行中的当前资金?计算值与回测结果不符求助

解决TradingView策略中当前资金计算与测试器数值不匹配的问题

你的公式核心问题是只扣除了最后一笔平仓订单的佣金,而非所有平仓订单的总佣金,这直接导致计算结果和测试器手动统计的数值不符。以下是两种解决方案:

方案一:直接使用内置变量(推荐)

TradingView提供了现成变量来获取实时账户资金,无需手动计算:

  • strategy.equity:实时反映当前账户总权益,包含未平仓头寸的浮动盈亏、已平仓盈亏、所有佣金费用和初始资金。
  • strategy.closed_equity:仅统计已平仓订单处理后的账户资金,不包含未平仓头寸的浮动盈亏。

用这两个变量直接获取的数值,会和策略测试器中的统计完全一致。

方案二:修正手动计算逻辑

如果一定要手动计算,必须累加所有平仓订单的佣金,而非只取最后一笔。示例代码如下:

// 初始化总佣金变量
var float total_commission = 0.0

// 每次有新的平仓订单时,重新累加所有佣金
if strategy.closedtrades > 0
    total_commission := ta.sum(strategy.closedtrades.commission(i), i = 0, strategy.closedtrades - 1)

// 计算当前资金
current_capital = strategy.initial_capital + strategy.grossprofit - strategy.grossloss - total_commission

原公式错误原因

原公式中strategy.closedtrades.commission(strategy.closedtrades - 1)仅提取了最后一笔平仓订单的佣金,而实际总佣金是所有已平仓订单的佣金总和,这会导致资金计算少扣/多扣佣金,最终数值和测试器手动统计结果不匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 13:15:57