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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件交易策略发布专区 → 【悬赏】编写IF日内突破交易规则

   

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


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

主题:【悬赏】编写IF日内突破交易规则

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


加好友 发短信
等级:新手上路 帖子:59 积分:332 威望:0 精华:5 注册:2010/8/1 13:24:27
  发帖心情 Post By:2011/1/20 16:33:22 [显示全部帖子]

思路不错



查看使用道具详细信息
悬赏金币帖,要悬赏 0 个金币
 回到顶部
帅哥哟,离线,有人找我吗?
luoying
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:59 积分:332 威望:0 精华:5 注册:2010/8/1 13:24:27
  发帖心情 Post By:2011/1/20 18:19:30 [显示全部帖子]

写好了,用于1分钟周期,我觉得没问题,版主检查下吧!

不对的地方,请指正

 

股指突破模型

 

INPUT:NMIN(39,10,60,10);                                          //设置参数时间

INPUT:NOFFSET(20,2,50,2);                                         //设置参数滑点

INPUT:LOTS(1,1,100,1);                                            //设置参数仓位

INPUT:STOPSET(50,50,100,10);                                     //设置参数止损

VARIABLE:FLAG=0; //用于限制开仓次数

VARIABLE:STOP_P=0; //用于变动止损

CYC:=BARSLAST(DATE>REF(DATE,1))+1;                            //统计日内K线数

HH:=VALUEWHEN(TIME<=91500+NMIN*100,HHV(H,CYC));                           {在从开盘到设定时间(默认参数开盘39分)内保存当天最高价}

LL:=VALUEWHEN(TIME<=91500+NMIN*100,LLV(L,CYC));                      {在从开盘到设定时间(默认参数开盘39分)内保存当天最低价}

IF HIGH > HH AND HOLDING<=0  AND FLAG<>1 THEN  {如果最高价突破设定时间内的前高加设定偏移并且目前没有多单,那么}

BEGIN

         MYPRICE: = HH + NOFFSET*MINDIFF;       {预设进场价.既等于设定时间内的前高加设定偏移}

         IF C >= MYPRICE THEN                                                                                                   

         BEGIN

                   MYPRICE: = C;
                  
                   FLAG:=1;

                   SELLSHORT(HOLDING<0,0,LIMITR,MYPRICE);                                                      {如果有空单先平}

                   BUY(HOLDING=0,LOTS,LIMITR,MYPRICE);   {如果没有多单则以开盘价开多LOTS手 }  
                  
                   IF C<=HH-STOPSET*MINDIFF THEN   SELL(HOLDING>0,0,LIMITR,C-NOFFSET*MINDIFF);
                                                                                        
                   IF C>=HH+STOPSET*MINDIFF THEN  STOP_P:=4;
                  
                   IF C<=HH+STOP_P*MINDIFF THEN  SELL(HOLDING>0,0,LIMITR,C-NOFFSET*MINDIFF);
                  
                   IF C>=HH*1.03 THEN  SELL(HOLDING>0,0,LIMITR,C-NOFFSET*MINDIFF);                                                                                                                            
         END

END

IF LOW <= LL AND HOLDING>=0 AND FLAG<>3 THEN               {以下开空部分同上,只不过方向相反}

BEGIN

         MYPRICE: = LL - NOFFSET*MINDIFF;

         IF C <= MYPRICE THEN

         BEGIN

                   MYPRICE: = C;
                  
                   FLAG:=3;

                   SELL(HOLDING>0,0,LIMITR,MYPRICE);

                   BUYSHORT(HOLDING=0,LOTS,LIMITR,MYPRICE);
                  
                   IF C>=LL+STOPSET*MINDIFF THEN  SELLSHORT(HOLDING<0,0,LIMITR,C+NOFFSET*MINDIFF);
                  
                   IF C<=LL-STOPSET*MINDIFF THEN  STOP_P:=4;
                  
                   IF C>=LL-STOP_P*MINDIFF THEN  SELLSHORT(HOLDING<0,0,LIMITR,C+NOFFSET*MINDIFF);
                  
                   IF C<=LL*0.97 THEN  SELLSHORT(HOLDING<0,0,LIMITR,C+NOFFSET*MINDIFF);    
                  
         END

END

IF TIME >= 151000 THEN                                                                 {收盘平仓}

BEGIN

         SELL(HOLDING>0,0,LIMITR,C-NOFFSET*MINDIFF);

         SELLSHORT(HOLDING<0,0,LIMITR,C+NOFFSET*MINDIFF);

END

[此贴子已经被作者于2011-1-20 18:30:32编辑过]

获得5个金币
 回到顶部
帅哥哟,离线,有人找我吗?
luoying
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:59 积分:332 威望:0 精华:5 注册:2010/8/1 13:24:27
  发帖心情 Post By:2011/1/20 18:28:05 [显示全部帖子]

用于1分钟周期

获得0个金币
 回到顶部
帅哥哟,离线,有人找我吗?
luoying
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:59 积分:332 威望:0 精华:5 注册:2010/8/1 13:24:27
  发帖心情 Post By:2011/1/20 21:09:19 [显示全部帖子]

不好意思 只能做成这样了

 

 

INPUT:NMIN(39,10,60,10);                                          //设置参数时间

INPUT:NOFFSET(20,2,50,2);                                         //设置参数滑点

INPUT:LOTS(1,1,100,1);                                            //设置参数仓位

VARIABLE:FLAG=0; //用于限制开仓次数

VARIABLE:STOPSET=50; //用于变动止损

CYC:=BARSLAST(DATE>REF(DATE,1))+1;                            //统计日内K线数

HH:=VALUEWHEN(TIME<=91500+NMIN*100,HHV(H,CYC));                           {在从开盘到设定时间(默认参数开盘39分)内保存当天最高价}

LL:=VALUEWHEN(TIME<=91500+NMIN*100,LLV(L,CYC));                      {在从开盘到设定时间(默认参数开盘39分)内保存当天最低价}

//开多仓

LONG:=HOLDING=0  AND  C > HH AND TIME>91500+NMIN*100 AND TIME<151000;;

//平多仓条件:
bline:=IF(holding>0,HHV(HIGH,TYPEBAR(1,1))-50*MINDIFF,L-50*MINDIFF);//多单移动止损线

PARTLINE(holding>0, bline, colorrgb(255,0,0));

SLONG:=(HOLDING>0 AND bline>=C) ; //OR (HOLDING>0 AND C>HH*1.03)


//开空仓

SHORT:=HOLDING=0 AND C < LL AND TIME>91500+NMIN*100 AND TIME<151000;

//平空仓条件:
sline:=IF(holding<0,LLV(LOW,TYPEBAR(1,3))+STOPSET*MINDIFF,L+STOPSET*MINDIFF);//空单移动止损线

PARTLINE(holding<0, sline, colorrgb(0,255,0));

SSHORT:=(HOLDING<0 AND sline<=C) ; //OR (HOLDING<O AND C<=LL*0.97)


                                

BUY(LONG,LOTS,LIMITR,C+NOFFSET*MINDIFF);   {如果没有多单则以开盘价开多LOTS手 }  

SELL(SLONG,HOLDING,LIMITR,C-NOFFSET*MINDIFF);


BUYSHORT(SHORT,LOTS,LIMITR,C-NOFFSET*MINDIFF);
                                                                
SELLSHORT(SSHORT,HOLDING,LIMITR,C+NOFFSET*MINDIFF); 

 

//收盘平仓

SELL(HOLDING>0 AND TIME>=151000,HOLDING,LIMITR,C-NOFFSET*MINDIFF);

SELLSHORT(HOLDING<0 AND TIME>=151000,HOLDING,LIMITR,C+NOFFSET*MINDIFF);


 


获得0个金币
 回到顶部