全部 智大领峰 TBQuant功能 TBL语言 TB开户 问答专区 高手圈 其他
已解决
回测中发现资金函数不准确问题TotalEquity = Portfolio_CurrentCapital() + Portfolio_UsedMargin()
novrice 分享到
2022-07-03 08:13

在做回测回测时候发现

TotalEquity = Portfolio_CurrentCapital() + Portfolio_UsedMargin();//总权益=账户可用资金+持仓保证金

当未开仓时候TotalEquity = Portfolio_CurrentCapital(),这个没问题,

当开仓后,持仓时候在盈利情况下 Portfolio_CurrentCapital() + Portfolio_UsedMargin()居然小于之前的总权益

这是什么原因引起的?发现近期情况确又是对的,前面就会这样,不知道是什么时候以前就不正常了。

wangkaiming

你的总权益用的是什么,也许是代码顺序的问题

2022-07-04 09:39
novrice
@wangkaiming

王老师您好,总权益是这个啊,TotalEquity = Portfolio_CurrentCapital() + Portfolio_UsedMargin();//总权益=账户可用资金+持仓保证金

这与代码顺序没有关系吧。何况近期基本是正常的,之前就不正常了。

最下面两张截图是近期的,你看这个是正常的,如果代码顺序不对,那所有都不正常了。这个权益都是按每根bar开盘价计算的吧,与代码在策略中的顺序没有关系的。这个等式应该是都是成立的。现在问题是在盈利情况下,总权益与开仓前比居然变小了(前面两张截图)

2022-07-04 10:12
wangkaiming

我用dualma测试下 并没有区别 

我只是猜测你在代码不同的位置输出了,前后夹了开仓什么的 所以结果不同

2022-07-04 14:08
novrice
@wangkaiming

王老师您好,这个位置应该放在哪里?我放在开端可以吧,这样都是当天开仓之前的值

2022-07-04 15:11
202****9083620246
@wangkaiming

王老师,我也有同样问题,只有888指数有这样问题,000指数和999指数没有问题

2023-08-23 20:32
202****9083620246
@wangkaiming

我是套用帮忙文件的四周突破案例的语句,

    myprice=Open;//这里使用open,更为精确的是使用委托价格

      TotalEquity = Portfolio_CurrentCapital() + Portfolio_UsedMargin();

      LOTS=IntPart(TotalEquity/(myprice*contractunit*BigPointValue*0.12)*0.8); //计算开仓手数

2023-08-23 20:37
您未登录,请先 登录注册 后发表评论
顶部