以铁矿石为例初始资金10万,按50%资金比例建仓,最低建仓1手,在做主力连续回测时候,打开模板中的复权相关4条代码
AddDataFlag(Enum_Data_RolloverBackWard()); //设置后复权
AddDataFlag(Enum_Data_RolloverRealPrice()); //设置映射真实价格
AddDataFlag(Enum_Data_AutoSwapPosition()); //设置自动换仓
AddDataFlag(Enum_Data_IgnoreSwapSignalCalc()); //设置忽略换仓信号计算
发现:1、跳空问题没有了;2、后复权后价格目前在3600左右,是否准确;3、通过这几条代码后映射后寸计算有误,居然10万资金50%建仓不够一手,
如果屏蔽这4条代码,仅仅用系统设置的后复权,价格也不对,头寸也不对
用 价格除以Rollover计算保证金和仓位 就可以了
你既然开了复权 图上自然是复权的价格
要在复权的情况下计算原价格,看一下函数Rollover
你加的标志影响的是测试报告
AddDataFlag(Enum_Data_RolloverBackWard()); //设置后复权
AddDataFlag(Enum_Data_RolloverRealPrice()); //设置映射真实价格
AddDataFlag(Enum_Data_AutoSwapPosition()); //设置自动换仓
AddDataFlag(Enum_Data_IgnoreSwapSignalCalc()); //设置忽略换仓信号计算
我是用的这4条代码,你们模板中的。映射了真实价格,但是头寸计算还是按未映射的价格。头寸计算应该按映射过去的真实价格计算吧,而不是按复权价计算。这里应该怎么处理呢?我看了铁矿的回测报告中的交易明细,价格没有问题,是按的映射后的真实价格,但是头寸计算是按的复权后三四千计算的。
非常感谢王老师专业耐心的指导,已经解决!
15%保证金率,现在跟保证金率没有关系。我这截图不仅仅单显示后复权,四条代码打开价格也有。都是价格很高的,和单复权一样。现在问题是不管单复权,还是用你们4条代码,后面映射等,头寸计算都是按的很高价格计算的,比如铁矿现在都是按三四千价格在计算头寸,这就有问题了。
1.单显示后复权,有的品种会价格很高,使用真实价格
2.建仓你看你设的保证金率是多少