Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共16 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

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

1楼
admin 发表于:2011/1/20 16:29:24
交易手数为1手(可以设置)

记录当天开盘后39分钟内的最高,最低价,最高价记为HH,最低价记为LL

开多:
最新价大于HH,以指定价(HH+20个跳动点(0.2为一个跳动点)),开多,
当成交后,设下止损价为HH减去50个跳动点
当有最新价达到HH加上50个跳动点时,止损价改为HH加4个跳动点
平仓1:最新价大于HH*1.03平仓,以指定价(最新价-50个跳动点)平仓
平仓2:到3点10分平仓。
开多止损或者平仓后,不再出现开多交易信号

开空:
最新价小于LL,以指定价(LL-20个跳动点(0.2为一个跳动点)),开空,
当成交后,设下止损价为LL加上50个跳动点
当有最新价达到LL减去50个跳动点时,止损价改为LL减去4个跳动点
平仓1:最新价小于LL*0.97平仓,以指定价(最新价+50个跳动点)平仓
平仓2:到3点10分平仓。
开空止损或者平仓后,不再出现开空交易信号
谢谢
[此贴子已经被作者于2011-1-20 16:30:02编辑过]
2楼
luoying 发表于:2011/1/20 16:33:22

思路不错

3楼
luoying 发表于: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编辑过]
4楼
luoying 发表于:2011/1/20 18:28:05
用于1分钟周期
5楼
xian_0_9 发表于:2011/1/20 19:08:44

给了5个金币了。说明落英写对了?

管理员自己不会写么?不能吧?

6楼
newbasic 发表于:2011/1/20 19:19:53
牛人
7楼
阿火 发表于:2011/1/20 20:42:24
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手 }  

                   ……

END

 

写得不对吧?要的是最新价>hh,就以hh+20*mindiff开仓的

 

 我来写一个

[此贴子已经被作者于2011-1-20 20:54:59编辑过]
8楼
luoying 发表于: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);


 

9楼
zhphappy 发表于:2011/1/20 21:31:42

晕,我的规则发在海洋和TB怎么跑这里来了,呵呵,我最新改了一下,请同学帮忙再编一下,谢谢

 

 

IF日内交易规则

当天有效,1分钟周期。

基本原理:突破当天开盘后39分钟内的最高价最低价作多作空。

一天最多交易二次,一次作多,一次作空

交易手数为1手(可以设置)

记录当天开盘后39分钟内的最高,最低价,最高价记为HH,最低价记为LL

开多:

最新价大于HH,开多(超价20个跳动价位买入追买,保证成交)

当成交后,设下止损价为HH减去40个跳动点

当有最新价达到HH加上50个跳动点时,止损价改为HH加上4个跳动点

平仓1:最新价大于HH*1.03平仓,以指定价(最新价-50个跳动点)平仓

平仓2:到3点10分平仓。

开多止损或者平多后,不再出现开多交易信号

开空:

最新价小于LL,开空(超价20跳动个价位追卖,保证成交)

当成交后,设下止损价为LL加上40个跳动点

当有最新价达到LL减去50个跳动点时,止损价改为LL减去4个跳动点

平仓1:最新价小于LL*0.97平仓,以指定价(最新价+50个跳动点)平仓

平仓2:到3点10分平仓。

开空止损或者平空后,不再出现开空交易信号

10楼
王锋 发表于:2011/1/20 22:04:06
总不能吃穿全靠别人伺候吧,已经帮你做了90%了剩下的自己学习一下看看自己能否进行改进
共16 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.07495 s, 2 queries.