欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请问如何在后台回测中取得历史最大权益

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2681人关注过本帖树形打印复制链接

主题:请问如何在后台回测中取得历史最大权益

帅哥哟,离线,有人找我吗?
zjhz102318
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:50 积分:0 威望:0 精华:0 注册:2016/8/30 18:02:58
请问如何在后台回测中取得历史最大权益  发帖心情 Post By:2020/12/1 17:00:59    Post IP:115.220.246.255[只看该作者]

回台回测中,希望每次开仓的时候,如果账户金额大于历史最大账户金额的60%,则按历史最大账户金额的60%下单;
如果账户金额小于历史最大账户金额的60%,则按实际账户金额的60%下单;
请问如何写代码,谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/12/1 17:19:38    Post IP:58.246.57.26[只看该作者]

 
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

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


命数如织,当如磐石。
 回到顶部