我编写了一些简单的代码,无论将止损设置在哪里,总是将风险设置为1%。这是我开空头寸的样子。
SL = 0.002
strategy.entry("open short", false, (strategy.equity*.01)/((high+SL)-close))
strategy.exit("exit short", "open short", stop = high + SL)
当我将其应用于图表时,这似乎可行,因为所有头寸均与我的数学一致。但是,利润数字是错误的。例如,我的初始资产设置为$ 1000,这是图表上的第一笔交易。
您可以看到,入口价为0.63835,出口价为0.6412,相差0.00285。该差额乘以合约数量(3508)得到的是9.9978,这是应该在交易中损失的最大金额。这与我的1%止损相符,应该是10美元。但是,您可以看到策略测试器显示我损失了14.91美元。
我误会了利润的计算方式吗?还是策略测试器有问题?
答案 0 :(得分:0)
或者问题可能是(这是我试图解决的问题),strategy.equity
也将未平仓头寸计算为权益的一部分。
您可以参考“Sizing TradingView orders based on a percentage of the strategy's equity ”,我得到了以下解释:
<块引用>策略净值是未平仓头寸的初始资本、净利润和未实现利润的总和(参见 TradingView,日期不详)。因此,一个以 10,000 开始交易并实现盈利 1,345,而未平仓盈亏为 -450 的策略,其净值为 10,895(10,000 + 1,345 + -450)。