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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 公式计算盈亏情况的简便方法改不对

   

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


  共有2300人关注过本帖平板打印复制链接

主题:公式计算盈亏情况的简便方法改不对

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


加好友 发短信
等级:黑侠 帖子:611 积分:0 威望:0 精华:0 注册:2015/9/11 9:51:55
  发帖心情 Post By:2015/10/22 9:47:38    Post IP:124.77.47.169[只看该作者]

看到不一样有阿火的程序里的ma10实际是5周期均线,如果改成ma10:=ma(c,10),同时我的开仓下单指令简单用cross函数的话,图表信号是完全一致的,但为何zich算出来还是大大不同呢?详细源码如下

谢谢

阿火:方法示例如下:(这里股指上的简单的均线系统为例)

variable:sumwealth=0;
ma10:=ma(c,10);
ma25:=ma(c,25);
sxf:=0.01/100;//手续费0.01%
if holding>0 and ma10<ma25 then begin
 sell(1,1,thisclose);
 sumwealth:=sumwealth+1*c*300*(1-sxf);//卖出时减去交易额
end
if holding<0 and ma10>ma25 then begin
 sellshort(1,1,thisclose);
 sumwealth:=sumwealth-1*c*300*(1+sxf);//买入时加上交易额
end
if holding=0 and ma10>ma25 then begin
 buy(1,1,thisclose);
 sumwealth:=sumwealth-1*c*300*(1+sxf);
end
if holding=0 and ma10<ma25 then begin
 buyshort(1,1,thisclose);
 sumwealth:=sumwealth+1*c*300*(1-sxf);
end

zichan:sumwealth+holding*c*300-abs(holding)*c*300*sxf,noaxis;

 
 
 
 

按照自己的策略喜欢用的格式改写了一下,得不出需要的zichan数值了,请教问题出在哪里?

以下是改写后的程序

 

variable:sumwealth=0;
ma10:ma(c,10);
ma25:ma(c,25);
BKK:=cross(ma10,ma25);
SPP:=holding>0 and ma10<ma25;

SKK:=cross(ma25,ma10);
BPP:=holding<0 and ma10>ma25;

 

手数:=1;
 SELL(spp,手数, thisclose);
 SELLSHORT(bpp,手数,thisclose);
 BUY(bkk and state=0,手数,thisclose);
 BUYSHORT(Skk and state=0,手数,thisclose);

sxf:=0.01/100;//手续费0.01%

if spp then begin
sumwealth:=sumwealth+手数*c*300*(1-sxf);//卖出时减去交易额
end
if bpp then begin
  sumwealth:=sumwealth-手数*c*300*(1+sxf);//买入时加上交易额
end
if bkk and state=0 then begin
  sumwealth:=sumwealth-手数*c*300*(1+sxf);
end
if Skk and state=0 then begin
  sumwealth:=sumwealth+手数*c*300*(1-sxf);
END

zichan:sumwealth+holding*c*300-abs(holding)*c*300*sxf,noaxis;


 回到顶部