以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请问如何在后台回测中取得历史最大权益  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=183291)

--  作者:zjhz102318
--  发布时间:2020/12/1 17:00:59
--  请问如何在后台回测中取得历史最大权益
回台回测中,希望每次开仓的时候,如果账户金额大于历史最大账户金额的60%,则按历史最大账户金额的60%下单;
如果账户金额小于历史最大账户金额的60%,则按实际账户金额的60%下单;
请问如何写代码,谢谢

--  作者:FireScript
--  发布时间:2020/12/1 17:19:38
--  
 
MarginRatio:=TACCOUNT(41);//多头保证金比率. 这个要把合约信息设置里面的费率设置正确,否则函数取到的值可能是不对的。
bzj:=Close*Multiplier*MarginRatio;//一手保证金占用
maxAsset:hhv(TASSET,0);
ss:=Intpart(0.6*maxAsset/(bzj));//按照历史最大资金百分比计算的开仓手数

if  开仓条件 then  
begin
if  TASSET>=0.6*maxAsset then tbuy(1,ss,MKT);
if  TASSET<0.6*maxAsset then tbuy(1,60%,MKT),PERTRADER;//按照当前资金60%下单时候,不需要额外计算下下单手数,直接用百分比交易的函数就行了。
end

这样试下。上面是多头,空头也是一样的处理方式。