固定市值开仓计算有误,请问老师问题出在哪里
例如用双均线测试,代码如下;在报告中查看交易记录,根据市值计算的手数有问题 //------------------------------------------------------------------------ // 简称: DualMA // 名称: 双均线交易系统 // 类别: 公式应用 // 类型: 内建应用 //------------------------------------------------------------------------ Params Numeric FastLength(5);// 短期指数平均线参数 Numeric SlowLength(20);// 长期指数平均线参数 Numeric money(200000); //固定市值开仓 Vars Numeric myprice; //委托价格 Numeric lots(1); //下单手数 Series<Numeric> AvgValue1; Series<Numeric> AvgValue2; Events OnInit() { { //=========数据源相关设置============== SetBeginBarMaxCount(1); AddDataFlag(Enum_Data_RolloverBackWard()); //设置后复权 AddDataFlag(Enum_Data_RolloverRealPrice()); //设置映射真实价格 AddDataFlag(Enum_Data_AutoSwapPosition()); //设置自动换仓 AddDataFlag(Enum_Data_IgnoreSwapSignalCalc()); //设置忽略换仓信号计算 SetOrderMap2MainSymbol(); //设置委托映射到主力 } } OnBar(ArrayRef<Integer> indexs) { AvgValue1 = AverageFC(Close,FastLength); AvgValue2 = AverageFC(Close,SlowLength); PlotNumeric("MA1",AvgValue1); PlotNumeric("MA2",AvgValue2); If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1]) { myprice=close[1]; //确定委托价格 if(money<>0) //固定市值开仓 lots=IntPart(money/(myprice*contractunit* BigPointValue)); //计算开仓手数 Buy(lots,Open); } If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1]) { SellShort(lots,Open); } //PlotNumeric("PL",Portfolio_TotalProfit); } //------------------------------------------------------------------------ // 编译版本 GS2010.12.08 // 版权所有 TradeBlazer Software 2003-2025 // 更改声明 TradeBlazer Software保留对TradeBlazer平 // 台每一版本的TradeBlazer公式修改和重写的权利 //------------------------------------------------------------------------