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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → [求助]请教如何求出单位时间内的平均浮盈

   

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


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

主题:[求助]请教如何求出单位时间内的平均浮盈

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


加好友 发短信
等级:论坛游侠 帖子:356 积分:767 威望:0 精华:0 注册:2011/9/5 10:51:56
[求助]请教如何求出单位时间内的平均浮盈  发帖心情 Post By:2014/4/11 14:16:23    Post IP:61.140.143.63[只看该作者]

前几天 @jinzhe 老大给编写了一个求全体交易平均浮盈的语句,请问如何修改成求单位时间内(例如n个月内)的平均浮盈呢?附上老大的语句:

hh:hhv(openprofit,enterbars+1);

variable:n=0,k=0;

if 平多条件 and holding>0 then begin

   sell.......;

   N:=N+hh;

   k:=k+1;

end

 

if 平空条件 and holding<0 then begin

   sellshort........;

   n:=n+hh;

   K:=k+1;

end

 

每次最大浮赢是HH

总和是N

平均是N/K


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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2014/4/11 14:29:43    Post IP:58.246.57.26[只看该作者]

hh:hhv(openprofit,enterbars+1);

variable:n=0,k=0;

if 平多条件 and holding>0 then begin

   sell.......;

   N:=N+hh;

   k:=k+1;

end

 

if 平空条件 and holding<0 then begin

   sellshort........;

   n:=n+hh;

   K:=k+1;

end

 

if month<>ref(month,1) then n:=0;

 

这个是每个月开始就把全局变量重置为0,算作是每月独立计算



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:论坛游侠 帖子:356 积分:767 威望:0 精华:0 注册:2011/9/5 10:51:56
  发帖心情 Post By:2014/4/11 14:52:32    Post IP:61.140.143.63[只看该作者]

如果我想每n个月独立计算一次,是不是就改成

if month<>ref(month+n-1,1) then n:=0;

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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2014/4/11 15:13:04    Post IP:58.246.57.26[只看该作者]

不是,要判断跨年的。比较复杂,就举个2个月的例子

hh:hhv(openprofit,enterbars+1);

variable:n=0,k=0;

variable:yuefen=0;

 

if 开多条件 and holding=0 then begin

    buy........;

    yuefen:=month;

end

 

if 开空条件 and holding=0 then begin

    buyshort.......;

    yuefen:=month;

end

 

if 平多条件 and holding>0 then begin

   sell.......;

   N:=N+hh;

   k:=k+1;

end

 

if 平空条件 and holding<0 then begin

   sellshort........;

   n:=n+hh;

   K:=k+1;

end

 

首先就如上面写的,加了一个记录月份的全局变量

 

 

然后判断当前月份:

if (month=3 or month=4 or...........or month=12) and month=yuefen+2 then n:=0 //这里简略的写了,用户一定不能简略,3-12月全部写齐

if month=1 and yuefen=11 then n:=0; 

if month=2 and yuefen=12 then n:=0;

 

这里就要判断跨年,不能和3月-12月写成一样的,1月2月独立判断

 

 

 

 

类似的3个月,4个月,都是要像这样进行枚举判断

 



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:论坛游侠 帖子:356 积分:767 威望:0 精华:0 注册:2011/9/5 10:51:56
  发帖心情 Post By:2014/4/11 15:24:01    Post IP:61.140.143.63[只看该作者]

好的,收到~~~~~~

 回到顶部