编写思路 开多: 1、ema20>ema100.当某k线下影线大于实体1.5倍以上(实体须大于等于3跳),上影线小于实体长度一半,后面k线超过前根k线高点开仓; 2、ema20>ema100. 当根k线收光头阳线(包含T字线)(k线高低点须大于3跳),后面k线超过前根k线高点开仓。 开空: 1、ema20<ema100.当某k线上影线大于实体1.5倍以上(实体须大于等于3跳),下影线小于实体长度一半,后面k线超过前根k线低点开仓; 2、ema20<ema100 当根k线收光脚阴线(包含倒T字线)(k线高低点须大于3跳),后面k线超过前根k线高点开仓。 平仓: 反向10跳止损;盈利大于15跳回落3跳止盈,大于20跳回落5跳止盈。 每次开仓手数固定或者能够自调 代码函数解析 CLOSE 取得K线图的收盘价。 注: 1、当盘中k线没有走完的时候,取得最新价。 2、可简写为C。 例1: A:CLOSE;//定义变量A为收盘价(盘中k线没有走完的时候A为最新价)。 LOW 取得K线图的最低价。 注: 1、可简写为L。 例1: LL:L;//定义LL为最低价。 HIGH 取得K线图的最高价。 注: 1、可简写为H。 例1: HH:H;//定义HH为最高价。 OPEN 取得K线图的开盘价。 注: 1、可简写为O。 例1: OO:O;//定义OO为开盘价; 源码编写 Vars Numeric EMA20,EMA100,n1,n2,n3,n4,C,O,H,L; Numeric T1,T2,T3; Begin //定义变量 C=CLOSE; L=LOW; H=HIGH; O=OPEN; EMA20=EMA(C,20); EMA100=EMA(C,100); N1=EMA20>EMA100; N2=MIN(C,O)-L>1.5*ABS(C-O)&&ABS(C-O)>=3*MINPRICE&&H-MAX(C,O)<0.5*ABS(C-O); N3=ISUP&&C==H&&ABS(H-L)>=3*MINPRICE; T1=EMA20<EMA100; T2=MAX(C,O)-H>1.5*ABS(C-O)&&ABS(C-O)>=3*MINPRICE&&MIN(C,O)-L<0.5*ABS(C-O); T3=ISDOWN&&C==L&&ABS(H-L)>=3*MINPRICE; //做多策略 IF(REF(N1&&N2,1)&&C>REF(H,1)||REF(N1&&N3,1)&&C>REF(H,1)) BK(MYVOL); IF(C<BKPRICE-10*MINPRICE) SP(MYVOL); IF(BKHIGH<=BKPRICE+20*MINPRICE&&BKHIGH>BKPRICE+15*MINPRICE&&C<=BKHIGH-3*MINPRICE) SP(MYVOL); IF(BKHIGH>BKPRICE+20*MINPRICE&&C<=BKHIGH-5*MINPRICE) SP(MYVOL); //做空策略 IF(REF(T1&&T2,1)&&C>REF(L,1)||REF(T1&&T3,1)&&C>REF(H,1)) SK(MYVOL); IF(C>SKPRICE+10*MINPRICE) BP(MYVOL); IF(SKLOW>=SKPRICE+20*MinPrice&&SKLOW<SKPRICE-15*MINPRICE&&C>=SKLOW+3*MINPRICE) BP(MYVOL); IF(SKLOW<SKPRICE-20*MINPRICE&&C>=SKLOW+5*MINPRICE) BP(MYVOL); End 源码解析 VARSNUMERIC EMA20,EMA100,N1,N2,N3,N4,收盘价,开盘价,最高价,最低价 NUMERIC T1,T2,T3 BEGIN//定义变量C=收盘价 最低价=最低价 最高价=最高价 开盘价=开盘价 EMA20=收盘价的20日指数移动平均 EMA100=收盘价的100日指数移动平均 N1=EMA20>EMA100 N2=收盘价和开盘价的较小值-最低价>1.5*收盘价-开盘价的绝对值并且收盘价-开盘价的绝对值>=3*MINPRICE并且最高价-收盘价和开盘价的较大值<0.5*收盘价-开盘价的绝对值 N3=ISUP并且收盘价并且最高价并且最高价-最低价的绝对值>=3*MINPRICE T1=EMA20<EMA100 T2=收盘价和开盘价的较大值-最高价>1.5*收盘价-开盘价的绝对值并且收盘价-开盘价的绝对值>=3*MINPRICE并且收盘价和开盘价的较小值-最低价<0.5*收盘价-开盘价的绝对值 T3=ISDOWN并且收盘价并且最低价并且最高价-最低价的绝对值>=3*MINPRICE //做多策略IF(1日前的N1并且N2并且收盘价>1日前的最高价或者1日前的N1并且N3并且收盘价>1日前的最高价) BK(MYVOL) 如果收盘价<BKPRICE-10*MINPRICE,返回?,否则返回? SP(MYVOL) 如果BKHIGH<=BKPRICE+20*MINPRICE并且BKHIGH>BKPRICE+15*MINPRICE并且收盘价<=BKHIGH-3*MINPRICE,返回?,否则返回? SP(MYVOL) 如果BKHIGH>BKPRICE+20*MINPRICE并且收盘价<=BKHIGH-5*MINPRICE,返回?,否则返回? SP(MYVOL) //做空策略IF(1日前的T1并且T2并且收盘价>1日前的最低价或者1日前的T1并且T3并且收盘价>1日前的最高价) SK(MYVOL) 如果收盘价>SKPRICE+10*MINPRICE,返回?,否则返回? BP(MYVOL) 如果SKLOW>=SKPRICE+20*MINPRICE并且SKLOW<SKPRICE-15*MINPRICE并且收盘价>=SKLOW+3*MINPRICE,返回?,否则返回? BP(MYVOL) 如果SKLOW<SKPRICE-20*MINPRICE并且收盘价>=SKLOW+5*MINPRICE,返回?,否则返回? BP(MYVOL) END END |
|