分享

文华T8量化自动交易程序 均线 K线形态止损止盈开仓平仓(附源码)

 石丰布衣 2024-09-20 发布于广东

编写思路


开多: 

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多