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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 混合模式问题

   

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


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

主题:混合模式问题

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


加好友 发短信
等级:新手上路 帖子:15 积分:0 威望:0 精华:0 注册:2014/1/22 17:23:01
混合模式问题  发帖心情 Post By:2014/3/24 8:54:47    Post IP:124.227.55.1[只看该作者]

老师好!我想在已经开发完成的突破模型中加入震荡交易,思路是:突破模型完成平仓后(不论平多还是平空),即转入震荡模式;转入震荡模式后,只允许做3次交易(不论多空);震荡模式结束标准:震荡模式交易达到3次或者突破模式出现开仓信号。以上思路尝试了好几天都无法实现,麻烦老师帮忙指引。

 


//交易系统

手数:=(CASH(0)/(CLOSE*300*0.15))*0.5;
震荡手数1:=(CASH(0)/(CLOSE*300*0.15))*0.2;
震荡手数2:=ENTERVOL*2;

突破单平多:SELL(突破单平多条件,HOLDING,MARKET);
突破单平空:SELLSHORT(突破单平空条件,HOLDING,MARKET);

突破单开多:BUY(突破单开多条件,手数,MARKET);
突破单开空:BUYSHORT(突破单开空条件,手数,MARKET);

震荡市开多:BUY( 震荡市开多条件,震荡手数1,MARKET);
震荡多单平仓:SELL( 震荡多单平仓条件 AND HOLDING>0,HOLDING,MARKET);

震荡市开空:BUYSHORT( 震荡市开空条件 ,震荡手数1,MARKET);
震荡空单平仓:SELLSHORT(震荡空单平仓条件 AND HOLDING<0,HOLDING,MARKET);

 
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;


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


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

你尝试的写法是怎么写的?


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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:15 积分:0 威望:0 精华:0 注册:2014/1/22 17:23:01
  发帖心情 Post By:2014/3/24 9:34:11    Post IP:124.227.55.1[只看该作者]

//交易系统

手数:=(CASH(0)/(CLOSE*300*0.15))*0.5;
震荡手数1:=(CASH(0)/(CLOSE*300*0.15))*0.2;
震荡手数2:=ENTERVOL*2;
IF (突破单平多条件 OR 突破单平空条件) THEN BEGIN

    震荡市开多:BUY( 震荡市开多条件,震荡手数1,MARKET);
    震荡多单平仓:SELL( 震荡多单平仓条件 AND HOLDING>0,HOLDING,MARKET);
    震荡市开空:BUYSHORT( 震荡市开空条件 ,震荡手数1,MARKET);
    震荡空单平仓:SELLSHORT(震荡空单平仓条件 AND HOLDING<0,HOLDING,MARKET);

 END
IF  (突破单开多条件 OR 突破单开空条件) THEN BEGIN

    突破单开多:BUY(突破单开多条件,手数,MARKET);
    突破单开空:BUYSHORT(突破单开空条件,手数,MARKET);
    突破单平多:SELL(突破单平多条件,HOLDING,MARKET);
    突破单平空:SELLSHORT(突破单平空条件,HOLDING,MARKET);

END


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


加好友 发短信
等级:新手上路 帖子:15 积分:0 威望:0 精华:0 注册:2014/1/22 17:23:01
  发帖心情 Post By:2014/3/24 9:38:32    Post IP:124.227.55.1[只看该作者]

我不知道控制语句用的对不对,另外如何用全局变量来分别记录两种模式的交易信号,我学习时间不长,实盘资金等着这个模型呢。急

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


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

思路是:突破模型完成平仓后(不论平多还是平空),即转入震荡模式;转入震荡模式后,只允许做3次交易(不论多空);震荡模式结束标准:震荡模式交易达到3次或者突破模式出现开仓信号。

variable:n=0;

variable:m=0;

 

if 突破单平多条件 and n=0 and holding>0 then begin

   平多语句;

   n:=1;

end

 

if 突破单平空条件 and n=0 and holding<0 then begin

   平空语句;

   n:=1;

end

 

if 突破单开多条件 and holding=0 then begin

   开多语句;

   n:=0;

end

 

if 突破单开空条件 and holding=0 then begin

   开空语句;

   n:=0;

end

 

if n=1 and holding=0   and m<3 and 震荡单开多条件 then begin

   开多语句;

   m:=m+1;

end

 

if n=1 and holding=0   and m<3 and 震荡单开空条件 then begin

   开空语句;

   m:=m+1;

end

 

if m=3 then begin

   n:=0;

   M:=0;

end

  



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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:15 积分:0 威望:0 精华:0 注册:2014/1/22 17:23:01
  发帖心情 Post By:2014/3/24 11:34:51    Post IP:124.227.55.1[只看该作者]

谢谢!我试试看

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


加好友 发短信
等级:新手上路 帖子:15 积分:0 威望:0 精华:0 注册:2014/1/22 17:23:01
  发帖心情 Post By:2014/3/24 14:20:36    Post IP:124.227.55.1[只看该作者]

发现两个问题

1、要去掉第一、第二段的n=0,信号才会正常出现,否则历史图表中只显示一次开仓信号,别的信号都没有。

2、震荡市的开仓信号是用突破单的平仓条件进行平仓的,不是震荡单的平仓条件,是漏掉了吗?


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


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

1随你的需求改

2没有必要的,没涉及到全局变量的就不写了



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

客户服务部

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

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

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


加好友 发短信
等级:新手上路 帖子:15 积分:0 威望:0 精华:0 注册:2014/1/22 17:23:01
  发帖心情 Post By:2014/3/26 13:49:48    Post IP:182.89.203.204[只看该作者]

老师,我用你给的语法改写了自己的模型,发现震荡模式没有平仓信号,后续符合开仓条件的信号也就出不来了。我的思路可能表达不完整,应该是震荡模式3次交易结束后等待突破模式信号,如此反复循环。下面是我写的语句,麻烦帮看一下怎么改。

//交易系统

手数:=(CASH(0)/(CLOSE*300*0.15))*0.5;

variable:n=0;//突破--震荡标志,0突破,1震荡
variable:tpd=0;//突破多单统计
variable:tpk=0;//突破空单统计
variable:m=0;//震荡单统计
 
if n=0 and 突破单平多条件 and holding>0  then begin
   突破单平多:SELL(突破单平多条件,HOLDING,MARKET);
   n:=1;
end

if n=0 and  突破单平空条件 and holding<0  then begin
   突破单平空:SELLSHORT(突破单平空条件,HOLDING,MARKET);
   n:=1;
end


if 突破单开多条件 and holding=0 and tpd<2 then begin
   突破单开多:BUY(突破单开多条件,手数,MARKET);
   n:=0;
   tpd:=tpd+1; 
end
 
if 突破单开空条件 and holding=0 and tpk<2 then begin
   突破单开空:BUYSHORT(突破单开空条件,手数,MARKET);
   n:=0;
   tpk:=tpk+1;
end

if n=1 and holding=0   and m<3 and 震荡单开多条件 then begin
   震荡市开多:BUY( 震荡单开多条件,手数,MARKET);
   tpd:=0;
   tpk:=0;
    m:=m+1;    
end

if n=1 and holding=0   and m<3 and 震荡单开空条件 then begin
   震荡市开空:BUYSHORT( 震荡单开空条件 ,手数,MARKET);
   tpd:=0;
   tpk:=0;
    m:=m+1;
 
end

if  holding>0  then begin
  震荡单平多:BUY(震荡多单平仓条件,holding,MARKET);
end

if  holding<0  then begin
  震荡单平空:BUY(震荡空单平仓条件,holding,MARKET); 
end

if m=3 then begin

   n:=0;

   M:=0;

end


 

 
当前持仓:HOLDING,COLORGRAY,LINETHICK0;
当前资产:ASSET,NOAXIS,COLORGRAY;


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


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

这个我只能帮你到这里了,剩下的就看你自己对全局变量的理解了

 

m是震荡的开仓次数

n是突破的标记,=1表示已经突破平仓过,=0表示还没有



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

客户服务部

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

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

 回到顶部
总数 11 1 2 下一页