哺乳期吃啥宝宝会胀气:金字塔模型范例

来源:百度文库 编辑:中财网 时间:2024/05/11 02:00:22

简易5分钟的金字塔模型范例,能图表显示和实际交易.

 

 

//文件名:分形
//作者:轮回
//轮回提醒您:此模型仅为范例;为提高评测精确度请使用当周开盘价评测;开盘交易无需K线走完.
LH2:=VALUEWHEN(HIGHLL2:=VALUEWHEN(LOW>REF(LOW,2) AND REF(LOW,1)>REF(LOW,2),REF(LOW,2));
FLAG:=IF(CLOSE>LH2,2,IF(CLOSEFLAG1:=VALUEWHEN(FLAG<>0,FLAG);
EXITLONG:REF(FLAG1=1,1),TFILTER;
EXITSHORT:REF(FLAG1=2,1),TFILTER;
ENTERLONG:REF(FLAG1=2,1),TFILTER;
ENTERSHORT:REF(FLAG1=1,1),TFILTER;
DRAWLINE(ENTERLONG,OPEN,EXITLONG,OPEN,0,COLORRED,LINETHICK3,VTSOLID);
DRAWLINE(ENTERSHORT,OPEN,EXITSHORT,OPEN,0,COLORGREEN,LINETHICK3,VTSOLID);

 

 

早盘突破

INPUT:NMIN(30,10,60,10);                                          //设置参数

INPUT:NOFFSET(3,1,20,1);                                            //设置参数

INPUT:LOTS(1,1,1000,1);                                                        //设置参数

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

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

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

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

BEGIN

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

         IF OPEN > MYPRICE THEN                                                                                                     {如果开盘价大于预设进场价,那么奋不顾身闯进去,(注:这是移植的,原设计并不一定完美,这时可能不是那么好成交的,我也不必多费唇舌了).}

         BEGIN

                   MYPRICE: = OPEN;

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

                   BUY(HOLDING=0,LOTS,LIMITR,MYPRICE);                                                            {如果没有多单则以开盘价开多LOTS手}

         END

END

IF LOW <= LOWESTOF30MIN - NOFFSET*MINDIFF AND HOLDING>=0  THEN               {以下开空部分同上,只不过方向相反}

BEGIN

         MYPRICE: = LOWESTOF30MIN - NOFFSET*MINDIFF;

         IF OPEN < MYPRICE THEN

         BEGIN

                   MYPRICE: = OPEN;

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

                   BUYSHORT(HOLDING=0,LOTS,LIMITR,MYPRICE);

         END

END

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

BEGIN

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

         SELLSHORT(HOLDING<0,0,LIMITR,OPEN); ================================================================================================= 比如说我用h>ref(c,1)+10平仓的话测试的时候我只开了一次仓。但是因为平仓条件符合的很多。在测试的时候会出现我没有仓位也会帮我平仓还有盈亏的情况。这样的测试根本没办法用啊。请问怎么解决这样的问题。

BUY(开多条件 and HOLDING=0,30%,market);

SELL(平多条件 and HOLDING>0,HOLDING,market);

 加入持仓函数HOLDING

 

{避免同一周期多次反复交易}
a1:=Enterbars;
a2:=exitbars;

b1:=ENTERLONG1 and (a1>0 or a1<0);
b2:=EXITLONG1 and (a2>0 or a2<0);

c1:=EXITLONG1 and (a1>0 or a1<0);
c2:=ENTERLONG1 and (a2>0 or a2<0);

BUY(b1,20%,stopr,BUY1);
SELL(b2 and 持仓>0,持仓,stopr ,SELL1);

BUYSHORT(c1,20%,stopr ,SELL1);
SELLSHORT(c2 and 持仓<0,持仓,stopr ,BUY1); 

 END         想法是四条均线把价格分成了5个区间,价格在这些区间内,依次得1、0、-1、-2、-3,分,进而评价整个市场的强弱。但我的错误是,自以为是地假设均线多头评论,没有考虑均线空头排列,交叉排列的情况。

JJ:=(o+H+C+L)/4;
JJ6:=ma(JJ,6);
JJ13:=ma(JJ,13);
JJ21:=ma(JJ,21);
JJ34:=ma(JJ,34);

if JJ>=JJ34 and JJelse if JJ>=JJ6,then QS:=1;
else if JJ>=JJ13 and JJelse if JJ>=JJ21 and JJelse if JJQS0:QS;

下面是superview编写的,在我发帖后不到一个小时给发给我了,近乎涨停的速度啊!(其实sgn是很经典的一个函数,但用了多年的股软,指导现在才明白)

JJ:=(o+H+C+L)/4;
JJ6:=ma(JJ,6);
JJ13:=ma(JJ,13);
JJ21:=ma(JJ,21);
JJ34:=ma(JJ,34);

QS0:SGN(jj-jj6)+SGN(jj-jj13)+SGN(jj-jj21)+SGN(jj-jj34)
+SGN(jj6-jj13)+SGN(jj6-jj21)+SGN(jj6-jj34)
+SGN(jj13-jj21)+SGN(jj13-jj34)
+SGN(jj21-jj34)