关于文华财经软件的一些常见代码编写2(源于金鹰)
21、//编写示例,KDJ指标和均线指标的混合使用,仅供参考,风险自负!
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
J:=3*K-2*D;
//以上为KDJ公式
MA5:MA(CLOSE,5);
MA10:MA(CLOSE,10);
//以上为定义5个周期收盘价的简单移动平均和10个周期收盘价的简单移动平均
(CROSS(MA5,MA10)&&REF(J,1)<70)||(CROSS(K,D)&&J<30),BK;
//5周期均线上穿10周期均线并且前一个周期的J值(KDJ)少于70或者KD金叉时并且J值小于30时发出买入开仓交易指令
CROSS(D,K)&&REF(J,1)>70,SP;
//KD出现死叉并且前一个周期J值大于70时发出卖出平仓交易指令
(CROSS(MA10,MA5)&&REF(J,1)>30)||(CROSS(D,K)&&J>70),SK;
//5周期均线下叉10周期均线并且前一个周期的J值(KDJ)大于30或者KD死叉时并且J值大于70时发出卖出开仓交易指令
CROSS(K,D)&&REF(J,1)<30,BP;
// KD出现金叉并且前一个周期J值小于30时发出买入平仓交易指令
AUTOFILTER;
———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
22、N1:=BARSLAST(DATE<>REF(DATE,1))+1;
AA:C>VALUEWHEN(L<=LLV(L,N1),L)+2*MINPRICE;
L<=LV(L,N1-1);//这样表示的也是创新低
//当前K线满足的条件是创新低后在回调2个点
//注意编写方法的实现
23、//仅供参考,风险自负!
//编写思路
//现在MA60数值>前一分钟的MA60数值,前一分钟的MA60数值<再前一分钟的MA60数值时,空单平仓,多单开仓。
//现在MA60数值<前一分钟的MA60数值,前一分钟的MA60数值>再前一分钟的MA60数值时,多单平仓,空单开仓。
//每天9:40以后条件符合开仓,15:00以后不再开仓15:00全部清仓上证60日MA圴线做股指期货IF主力合约
A1:="999001$CLOSE";//引用上证指数的收盘价
S60:MA(A1,60),NODRAW;
SJ:=(TIME>=0940&&TIME<1500);//时间限制
AA:=SJ&&S60>REF(S60,1)&&REF(S60,1)<</span>REF(S60,2);//条件AA
BB:=SJ&&S60>REF(S60,1)&&REF(S60,1)>REF(S60,2);//条件BB
N1:=BARSLAST(DATE<>REF(DATE,1))+1;
COUNT(BARSBK=1||BARSSK=1,N1)<2&&AA,BPK;//当天做多、做空最多只开仓两次
COUNT(BARSSK=1||BARSBK=1,N1)<2&&BB,SPK;//当天做多、做空最多只开仓两次
TIME>=1500,CLOSEOUT;//大于等于15点清仓
AUTOFILTER;
N:=IFELSE(REF(BKVOL=0&&SKVOL=0,1),2,1);
//如果当根K线上不存在BK或者SK都平仓后可以出现BPK或者SPK或者一起出现,
//出现一个买入或者卖出信号的,当根K线就会发出加仓或者平仓。
SETSIGMAXNUM(N) ;//信号函数需要进一步掌握
24、//该模型仅仅用来示范如何编写简单的K线形态
//用户需要根据自己交易经验,进行修改后再实际应用!!!
// //后为文字说明,编写模型时不用写出
//相关的比例参数,根据交易经验自己定义
大阳线:(C-O)/O>=N1/1000;//定义1根大阳线
//大阳线=1,WORD(1,'大阳线');//当某根K线满足大阳线的条件时,在这根K线上最高价标示“大阳线”。
大阴线:(O-C)/O>=N1/1000;//
中阳线:(C-O)/OC-O)/O>=N2/1000;
中阴线:(O-C)/OO-C)/O>=N2/1000;
小阳线:(C-O)/OC-O)/O>=N3/1000;
小阴线:(O-C)/OO-C)/O>=N3/1000;
小阳星线:(C-O)/OC-O)/O>=0;
小阴星线:(O-C)/OO-C)/O>=0;
25、//该模型仅仅用来示范如何编写简单的锤子线和上吊线K线形态
//以下内容是根据《日本蜡烛图技术》第四章反转形态下的锤子线和上吊线编写
//用户需要根据自己交易经验,进行修改后再实际应用!!!
// //后为文字说明,编写模型时不用写出
N1:=5;
MA5:MA(C,N1);//定义5周期均线
AA:=(MIN(O,C)-L)>=2*ABS(O-C)&&(H-L)>=3*(H-MIN(O,C));
//当满足下影线的长度为实体的2倍以上并且上影线为实体的0.2倍的并且整个最高价和最低价的差值为最高价到实体的3倍时候定义为垂线
CZX:=AA&&(C<</span>MA(C,N1)||EVERY(C<</span>REF(C,1),N1));
//定义锤子线(当满足锤线的条件并且在最近5个周期是下跌趋势或者收盘价小于5周期均线)
SDX:=AA&&(C>=MA(C,N1)||EVERY(C>=REF(C,1),N1));
//定义上吊线(当满足锤线的条件并且在最近5个周期是上跌趋势或者收盘价大于5周期均线)
CXW:=BARSLAST(CZX=1)+1;//满足锤子线到当前的周期
SXW:=BARSLAST(SDX=1)+1;//满足上吊线到当前的周期
QR1:=CXW=2&&C>VALUEWHEN(CXW=1,C);//当在锤子线后的第一根K满足大于锤子线的收盘价的时候确认锤子线
QR2:=SXW=2&&C<</span>VALUEWHEN(SDX=1,C);//当在上吊线后的第一根K满足小于上吊线的收盘价的时候确认上吊线
KTEXT(QR1=1,-1,H,1,COLORRED,'确认锤子线');//在锤子线的上方标示红色的“确认锤子线”
KTEXT(QR2=1,-1,H,1,COLORGREEN,'确认上吊线');//在上吊线的上方标示绿色的“确认上吊线”
26、//该模型仅仅用来示范如何编写简单的倒锤子线和流星线K线形态
//以下内容是根据《日本蜡烛图技术》第五章反转形态下的流星线和倒锤子线编写
//用户需要根据自己交易经验,进行修改后再实际应用!!!
// //后为文字说明,编写模型时不用写出
N1:=5;
MA5:MA(C,N1);//定义5周期均线
AA:=(H-MAX(O,C))>=2*ABS(O-C)&&(H-L)>=3*(MAX(O,C)-L);
//当满足下影线的长度为实体的2倍以上并且上影线为实体的0.2倍的并且整个最高价和最低价的差值为最高价到实体的3倍时候定义为倒垂线
CZX:=AA&&(MAX(O,C)<=REF(MIN(O,C),1))&&(C<</span>MA(C,N1)||EVERY(C<</span>REF(C,1),N1));
//定义倒锤子线(当满足锤线的条件并且在最近5个周期是下跌趋势或者收盘价小于5周期均线并且满足当根K线向下跳空)
SDX:=AA&&(MIN(O,C)>=REF(MAX(O,C),1))&&(C>=MA(C,N1)||EVERY(C>=REF(C,1),N1));
//定义射击线/流星线(当满足锤线的条件并且在最近5个周期是上跌趋势或者收盘价大于5周期均线并且满足当根K线向上跳空)
CXW:=BARSLAST(CZX=1)+1;//满足倒锤子线到当前的周期
SXW:=BARSLAST(SDX=1)+1;//满足流星线到当前的周期
QR1:=CXW=2&&O>VALUEWHEN(CXW=1,MAX(O,C));
//当在倒锤子线后的第一根K的开盘价满足大于倒锤子线的收盘价和开盘价的最大值的时候确认倒锤子线
QR2:=SXW=2&&O<</span>VALUEWHEN(SDX=1,MIN(O,C));
//当在流星线后的第一根K满开盘价满足小于流星线的收盘价和开盘价的最小值的时候确认流星线
KTEXT(QR1=1,-1,H,1,COLORRED,'确认倒锤子线');//在锤子线的上方标示红色的“确认倒锤子线”
KTEXT(QR2=1,-1,H,1,COLORGREEN,'确认流星线');//在上吊线的上方标示绿色的“确认流星线”
27、//该模型仅仅用来示范如何编写简单的看涨捉腰带线和看跌捉腰带线K线形态
//以下内容根据《日本蜡烛图技术》第六章其他反转形态下的捉腰带线进行简单编写
//用户需要根据自己交易经验,进行修改后再实际应用!!!
// //后为文字说明,编写模型时不用写出
N1:=15;
N2:=5;
KZ:=(O-L=0)&&H>C&&(C-O)/O>=N1/1000;//定义看涨捉腰带线
KD:=(H-O=0)&&L<</span>C&&(O-C)/O>=N1/1000;//定义看跌捉腰带线
ZYDX:=(NOT(EVERY(C>=REF(C,1),N2)))&&KZ;//当满足看涨捉腰带线并且最近N1个周期内是非上升趋势
DYDX:=(NOT(EVERY(C<</span>REF(C,1),N2)))&&KD;//当满足看跌捉腰线并且最近N1个周期内是非下降趋势
DRAWTEXT(ZYDX=1,H,'看涨捉腰带线');//当满足更为具体的看涨捉腰线定义条件的时候在当根K线最高价显示“看涨捉腰带线”
DRAWTEXT(DYDX=1,L,'看跌捉腰带线');//当满足更为具体看跌捉腰带线定义的时候在当根K线的最低价显示“看跌捉腰带线”
28、//该模型仅仅用来示范如何编写简单的看看涨吞没形态和看跌吞没形态的K线形态
//以下内容根据《日本蜡烛图技术》第四章反转形态下的吞没形态进行简单编写
//用户需要根据自己交易经验,进行修改后再实际应用!!!
// //后为文字说明,编写模型时不用写出
N1:=10;
N2:=5;
KZ:=MAX(O,C)>REF(MAX(O,C),1)&&MIN(O,C)<</span>REF(MIN(O,C),1)&&ISUP&&REF(ISEQUAL||ISDOWN,1)&&(C-O)/O>=N1/1000;
//定义简单的看涨吞没形态
KD:=MAX(O,C)>REF(MAX(O,C),1)&&MIN(O,C)<</span>REF(MIN(O,C),1)&&ISDOWN&&REF(ISEQUAL||ISUP,1)&&(O-C)/O>=N1/1000;
//定义简单的看跌吞没形态
KZTM:=KZ&&NOT(REF(EVERY(C>REF(C,1),N2),1));
//当满足简单的看涨吞没形态并且最近5周期是非上升的趋势
KDTM:=KD&&NOT(REF(EVERY(C<=REF(C,1),N2),1));
//当满足简单的看跌吞没形态并且最近5周期是非下降的趋势
DRAWTEXT(KZTM=1,H,'看涨吞没');//在满足看涨吞没形态的当根K线的最高价标示“看涨吞没”
DRAWTEXT(KDTM=1,L,'看跌吞没');//在满足看跌吞没形态的当根K线的最低价标示“看跌吞没”
29、//该模型仅仅用来示范如何编写简单的看乌云盖顶形态和看刺透形态的K线形态
//以下内容根据《日本蜡烛图技术》第四章反转形态下的乌云盖顶形态和看刺透形态进行简单编写
//用户需要根据自己交易经验,进行修改后再实际应用!!!
// //后为文字说明,编写模型时不用写出
N1:=10;
N2:=5;
WY:=O>=REF(H,1)&&C<=REF((C-O)/2+O,1)&&REF(ISUP,1)&&L>REF(L,1)&&ISDOWN&&(C-L)/L<=N1/1000&&REF((C-O)/O>=N1/1000,1);
//定义简单的乌云盖顶形态
WYGD:=NOT(REF(EVERY(C<</span>REF(C,1),N2),1))&&WY;
//当满足乌云盖顶形态并且最近5个周期为非下降趋势
DRAWTEXT(WYGD=1,H,'乌云盖顶');
//当满足乌云盖顶形态的时候,在当根K线的最高价标示“乌云盖顶”
CT:=O<=REF(L,1)&&C>=REF((O-C)/2+C,1)&&REF(ISDOWN,1)&&C<</span>REF(O,1)&&ISUP&&(H-C)/C<=N1/1000&&REF((O-C)/O>=N1/1000,1);
//定义简单的刺透形态
CTXT:=NOT(REF(EVERY(C>=REF(C,1),N2),1))&&CT;
//当满足刺透形态并且在最近5个周期为非上升趋势
DRAWTEXT(CTXT=1,L,'刺透形态');
//当满足刺透形态的时候,在当根K线的最低价标示“刺透形态”
30、//该模型仅仅用来示范如何编写简单的看涨孕线形态和看跌孕线形态的K线形态
//以下内容根据《日本蜡烛图技术》第六章其他反转形态下的孕线形态进行简单编写
//用户需要根据自己交易经验,进行修改后再实际应用!!!
// //后为文字说明,编写模型时不用写出
N1:=15;
N2:=5;
KZD:=REF(MAX(O,C),1)>MAX(O,C)&&REF(MIN(O,C),1)<</span>MIN(O,C)&&REF((C-O)/O>=N1/1000,1);
//定义简单的看涨孕线形态
KDD:=REF(MAX(O,C),1)>MAX(O,C)&&REF(MIN(O,C),1)<</span>MIN(O,C)&&REF((O-C)/O>=N1/1000,1);
//定义简单的看跌孕线形态
ZYX:=KZD&&NOT(REF(EVERY(C>REF(C,1),N2),1));
//当满足看涨孕线形态并且最近5个周期为非上升趋势
DYX:=KDD&&NOT(REF(EVERY(C<=REF(C,1),N2),1));
//当满足看跌孕线形态并且最近5个周期为非下降形态
DRAWTEXT(ZYX=1,H,'看涨孕线');//在看涨孕线形态的最高价标示上“看涨孕线”
DRAWTEXT(DYX=1,L,'看跌孕线');//在看跌孕线形态的最低价标示上“看跌孕线”
31、//该模型仅仅用来示范如何编写简单的看乌云盖顶形态和看刺透形态的K线形态
//以下内容根据《日本蜡烛图技术》第五章星线形态下的启明星形态和黄昏星形态以及第八章神奇的十字星线中的三星线等进行简单编写
//用户需要根据自己交易经验,进行修改后再实际应用!!!
// //后为文字说明,编写模型时不用写出
N1:=10;
N2:=2;
QMX:=REF(MAX(O,C),1)<</span>REF(MIN(O,C),2)&&O>REF(MAX(O,C),1)&&REF((O-C)/O>=N1/1000,2)&&C>=REF((O-C)/2+C,2);
//定义启明星形态
HHX:=REF(MIN(O,C),1)>REF(MAX(O,C),2)&&O<</span>REF(MIN(O,C),1)&&REF((C-O)/O>=N1/1000,2)&&C<=REF((C-O)/2+O,2);
//定义黄昏星形态
AA:=BACKSET(QMX=1,3);//当满足启明星形态向前3个周期负值为1
BB:=BACKSET(HHX=1,3);//当满足黄昏星形态向前3个周期负值为1
STICKLINE( AA=1,O,C ,COLORYELLOW ,0 );//把满足启明星形态的这三根K线用黄色柱线标示
STICKLINE(BB=1,O,C,COLORGREEN,0);//把满足黄昏星形态的这三根K线用绿色的柱线标示
SZQMX:=REF(MAX(O,C),1)<</span>REF(MIN(O,C),2)&&O>REF(MAX(O,C),1)&&REF((O-C)/O>=N1/1000,2)&&C>=REF((O-C)/2+C,2)&&REF(ISEQUAL||ABS(C-O)/O<=2/1000,1);
//定义十字启明星
SZHHX:=REF(MIN(O,C),1)>REF(MAX(O,C),2)&&O<</span>REF(MIN(O,C),1)&&REF((C-O)/O>=N1/1000,2)&&C<=REF((C-O)/2+O,2)&&REF(ISEQUAL||ABS(C-O)/O<=2/1000,1);
//定义是指黄昏星
KTEXT(SZQMX=1,-1,H,0,COLORRED,'十字启明星');//在满足十字启明星形态的前一根K线最高价标示“十字启明星”
KTEXT(SZHHX=1,-1,L,0,COLORMAGENTA,'十字黄昏星');//在满足十字黄昏星形态的前一根K线最低价标示"十字黄昏星"
SSQY:=REF(H,2)<=REF(L,1)&&REF(L,1)>=H&&REF(ISUP,2)&&REF(ISEQUAL||ABS(C-O)/O<=2/1000,1)&&ISDOWN;
//定义上升形态的弃婴
XJQY:=REF(L,2)>=REF(H,1)&&REF(H,1)<=L&&REF(ISDOWN,2)&&REF(ISEQUAL||ABS(C-O)/O<=2/1000,1)&&ISDOWN;
//定义下降形态的弃婴
REFX(SSQY=1,1),WORD(1,'弃婴');//当后一根K线满足上升弃婴形态,在本根K线最高价上标示“弃婴”
REFX(XJQY=1,1),WORD(0,'弃婴');//当后一根K线满足下降弃婴形态,在本根K线最低价上标示"弃婴"
SX1:=(REF(ISEQUAL||ABS(C-O)/O<=2/1000,1)&&REF(ISEQUAL||ABS(C-O)/O<=2/1000,2)&&(ISEQUAL||ABS(C-O)/O<=2/1000));//定义简单的三星线
SSX:=REF(MAX(O,C),1)<</span>REF(MIN(O,C),2)&&MIN(O,C)>REF(MAX(O,C),1)&&SX1;//定义看涨的三星线
XSX:=REF(MIN(O,C),1)>=REF(MAX(O,C),2)&&MAX(O,C)<=REF(MIN(O,C),1)&&SX1;//定义看跌的三星线
TT:=BACKSET(SSX=1,3);//当看涨的三星线成立的时候,在其前3个周期赋值为1
TB:=BACKSET(XSX=1,3);//当看跌的三星线成立的时候,在其前3个周期赋值为1
CROSS(TT,0.5),ICON(1,'ICO82');//当第一个K线满足看涨三星线,在第一根标示红心
CROSS(TB,0.5),ICON(0,'ICO83');//当第一个K线满足看跌三星线,在第一根标示撕裂红心
32、//该模型仅仅用来示范如何编写简单的看乌云盖顶形态和看刺透形态的K线形态
//以下内容根据《日本蜡烛图技术》第六章其他反转形态下的约会形态和第七章的分手形态进行简单编写
//用户需要根据自己交易经验,进行修改后再实际应用!!!
// //后为文字说明,编写模型时不用写出
SSYH:=REF(ISDOWN,1)&&ISUP&&REF(C,1)=C;//定义上升约会形态
XJYH:=REF(ISUP,1)&&ISDOWN&&REF(C,1)=C;//定义下降约会形态
DRAWTEXT(SSYH=1,H,'上升约会');//当满足上升约会形态时在当根K线最高价标示“上升约会”
DRAWTEXT(XJYH=1,L,'下降约会');//当满足下降约会形态时在当根K线最低价标示“下降约会”
SSFS:=REF(ISDOWN,1)&&ISUP&&REF(O,1)=O;//定义上升分手形态
XJFS:=REF(ISUP,1)&&ISDOWN&&REF(O,1)=O;//定义下降分手形态
DRAWTEXT(SSFS=1,H,'上升分手');//当满足上升分手形态时在当根K线最高价标示“上升分手”
DRAWTEXT(XJFS=1,L,'下降分手');//当满足下降分手形态时在当根K线最低价标示“下降分手”