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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 如图优化参数里的表头能加入总风收比这一项吗?

   

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


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

主题:如图优化参数里的表头能加入总风收比这一项吗?

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/12/21 14:34:54 [显示全部帖子]

稍微有点麻烦。需要你自己会改代码才行。

参考下面范例:

VARIABLE:yl:=1,ks:=1;//用全局变量实现有效累乘。

input:n(9,1,100,10),p1(3,2,40,4),p2(3,2,40,4);//参数设置
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:SMA(RSV,P1,1);
D:SMA(K,P2,1);
J:3*K-2*D,NODRAW;

手数:=1;
//交易条件
kdjjc:cross(k,d),NODRAW;//kdj金叉
kdjsc:cross(d,k),NODRAW;

if kdjjc and holding<0 then
begin
平空:SELLSHORT(kdjjc,HOLDING,MARKET);
if NUMPROFIT(1)<0 then ks:=ks*(1/(1-abs(NUMPROFITPER(1)/100)));
if NUMPROFIT(1)>0 then yl:=yl*((1+abs(NUMPROFITPER(1)/100)));
end

开多:BUY(kdjjc and holding=0,手数,MARKET);

if kdjsc and holding>0 then
begin
平多:SELL(kdjsc,HOLDING,MARKET);
if NUMPROFIT(1)<0 then ks:=ks*(1/(1-abs(NUMPROFITPER(1)/100)));
if NUMPROFIT(1)>0 then yl:=yl*((1+abs(NUMPROFITPER(1)/100)));
end

开空:BUYSHORT(kdjsc and holding=0,手数,MARKET);

showyl:yl;//盈利
showks:ks;//亏损

result:LOG(showyl)/LOG(ks);//最终结果

你需要在每个平仓地方,判断下盈亏 然后计算。部分平仓是不行的。必须是完全平仓。否则无法获取盈亏的数值。


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