編寫思路 開多: 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跳止盈。 每次開倉手數(shù)固定或者能夠自調 代碼函數(shù)解析 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日指數(shù)移動平均 EMA100=收盤價的100日指數(shù)移動平均 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 |
|