请问老师个关于自动计算账户资金最大可开仓手数的问题

请问老师策略里定义了初始资金,也添加了:Lots=max(1,intpart(Fund/(O*ContractUnit*BigPointValue*MarginRatio)));  代码,为啥开仓时还是1手?


  谢谢

关于自动计算开仓手数
读取账户资金计算手数
如何计算不同品种开仓手数
如何用ATR和实盘权益计算开仓手数
如何在期权自动化中实现通过最大资金量自动计算开仓手数
关于计算开仓手数问题
关于动态权益百分比计算开仓手数的问题
TBQ自动计算开仓手数的问题?
按照资金80%计算开仓手数
后复权历史回测导致使用资金比例计算开仓手数虚假的问题。

怎么说呢

要么是软件有bug,要么是你代码写错了

如果觉得软件有bug,请提交代码demo证明软件有bug。

如果是代码写错了,也要提交代码,看到代码才能分析你哪里写错了。

所以为啥开仓还是1手?我也不知道为什么。

Numeric NC(11);
    // 用于计算成交量加权指数的周期参数
	Numeric N(60);
	// 计算最高价和最低价的周期参数
	Numeric Fund(5000);
	// 初始资金(单位:元)
	//Numeric ProfitPoints(30);
	 // 盈利目标点数(这里假设价格变动单位与点数一致,如需调整根据实际情况)
	//Numeric LossPoints(10);
	//亏损20点平仓
Vars
	 //此处添加参数
	Series<Numeric> VJQ;
	 // 成交量加权指数
     bool B(false);
     // 多头势判断变量
     bool S(false);
     // 空头势判断变量 
     Series<bool> BuyPK(false);
     // 多头入场信号
     Series<bool> SellPK(false); 
      // 空头入场信号
     Series<bool> BuyP(false);
      // 多头持仓且出现多头势的信号(用于反手等逻辑判断,可根据实际需求调整使用方式)
     Series<bool> SellP(false);  
     // 空头持仓且出现空头势的信号(用于反手等逻辑判断,可根据实际需求调整使用方式)
     Series<Numeric> HH;
     // 最高价序列
     Series<Numeric> LL;
     // 最低价序列
     Series<Numeric> Lots;
     //定义手数,计算可开仓手数
Events
    onBar(ArrayRef<Integer> indexs)
    {    
    	//此处添加代码正文
    	//Lots=max(1,intpart(Fund/(O*ContractUnit*BigPointValue*MarginRatio)));
    	VJQ=XAverage(V*(C-C[NC]),N);
    	//定义成交量加权指数为VJQ
    	B=VJQ>0;
    	//定义多头势
    	S=VJQ<0;
    	//定义空头势
    	HH=Highest(C,N);
    	
    	LL=Lowest(C,N);
    	BuyPK=MarketPosition<=0 and CurrentBar>N and  B and H>=HH;
    	SellPK=MarketPosition>=0 and CurrentBar>N and S and L<=LL;
    	BuyP=Marketposition==-1 and B;
    	SellP=Marketposition==1 and S;
    
    //入场
    	If (BuyPK[1])
    	{ 			
    	    Buy(Lots,Open);
    		Commentary("BK");
    	}  
    	
    	请帮我看看是哪里的问题  谢谢老师


你这是注释掉了,注释后的语句是没有任何效果的

没有注释也只开1手,这里是我故意注释的,其他的没什么问题吗?谢谢老师

和Lots的计算结果有关的,就是Fund、O、ContractUnit、Bigpointvalue、marginRatio这几个变量,把它们的值显示出来,然后核算一下,问题在哪就都清楚了。