百分比函数的是根据可用资金的百分比哦。
如果你要全部总资金的,那就根据3楼代码做调整就行。只需要指定资金为图表理论权益或者后台实际账号权益即可。
[PEL] 复制代码
下单资金量:=TACCOUNT( 6)*0.1;//使用实际账户总权益的10%
MarginRatio:=TACCOUNT(41);//多头保证金比率. 这个要把合约信息设置里面的费率设置正确,否则函数取到的值可能是不对的。
bzj:=Close*Multiplier*MarginRatio;//一手保证金占用
ss1:=Intpart(下单资金量/(bzj));//根据资金ZJ计算的开仓手数
//最终结果
//ss1可能会有计算出为0 的情况,而恰好为手数参数为0在函数中是满仓开的含义。因此再次处理下,当ss1为0情况下默认按下一手处理。
//如需要判断可用直接判断 TACCOUNT(19)>下单资金量 即可
ss:if(ss1>0,ss1,1);
图表:
[PEL] 复制代码
下单资金量:=ASSET*0.1;//使用理论账户总权益的10%
MarginRatio:=TACCOUNT(41);//多头保证金比率. 这个要把合约信息设置里面的费率设置正确,否则函数取到的值可能是不对的。
bzj:=Close*Multiplier*MarginRatio;//一手保证金占用
ss1:=Intpart(下单资金量/(bzj));//根据资金ZJ计算的开仓手数
//最终结果
//ss1可能会有计算出为0 的情况,而恰好为手数参数为0在函数中是满仓开的含义。因此再次处理下,当ss1为0情况下默认按下一手处理。
//如需要判断可用直接判断 CASH(0)>下单资金量 即可
ss:if(ss1>0,ss1,1);
参考这2部分代码调整就行了。 |