关于几个点定位的问题@齐云 (文华财经WH8赢智V8.2)

投资者咨询:关于几个点定位的问题@齐云 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-6-1 21:22
 

按此在新窗口浏览图片
文件名:做空b.png
做空B:MACDA处死叉时,满足以下条件做空

A处死叉前的最近一次金叉为D,金叉D与死叉A之间K线最高价出现过大于等于BOLL上轨并且KDK值出现过大于80,且A处死叉时MA2<MA3DEA>0

E处死叉后K线最低价出现过小于等于BOLL下轨,然后形成的金叉为BE处为B处前面最近的一次死叉,B处也为A处前面最近一次触及过BOLL下轨后形成的金叉;

F处死叉后K线最低价出现过小于等于BOLL下轨,然后形成的金叉为CF处为C处前面最近的一次死叉,C处也为B处前面最近一次触及过BOLL下轨后形成的金叉;

金叉C与金叉B之间存在MA2>MA3或(若金叉C与金叉B之间不存在MA2>MA3,且须满足金叉B时的DEA<金叉C时的DEA值);

⑤金叉D与死叉A之间存在MA1<MA2;

平空B:自做空B开仓之后,K线最低价触及过BOLL下轨,MACD位于0轴下方金叉,且金叉时的DEA>前面最近一次MACD金叉时的DEA值时平空;

空损B:自做空B开仓之后,当一根阳线的收盘价大于金叉D到死叉A之间的最高价并且大于BOLL上轨止损;

做多BMACDA处金叉时,满足以下条件做空

A处金叉前的最近一次死叉为D,死叉D与金叉A之间K线最低价出现过小于等于BOLL下轨并且KDK值出现过小于80,且A处金叉时MA2>MA3DEA<0

E处金叉后K线最高价出现过大于等于BOLL上轨,然后形成的死叉为BE处为B处前面最近的一次金叉,B处也为A处前面最近一次触及过BOLL上轨后形成的死叉;

F处金叉后K线最高价出现过大于等于BOLL上轨,然后形成的死叉为CF处为C处前面最近的一次金叉,C处也为B处前面最近一次触及过BOLL上轨后形成的死叉;

死叉C与死叉B之间存在MA2<MA3或(若死叉C与死叉B之间不存在MA2<MA3,且须满足死叉B时的DEA>死叉C时的DEA值);

⑤死叉D与金叉A之间存在MA1>MA2;

平多B:自做多B开仓之后,K线最高价触及过BOLL上轨,MACD位于0轴上方死叉,且死叉时的DEA<前面最近一次MACD死叉时的DEA值时平多;

多损B:自做多B开仓之后,当一根线的收盘价DA之间的最并且小于BOLL下轨止损;


老师,前面的A策略基本没什么大问题了,现在请老师帮我把这个B策略加进去,我想看看AB策略在建平仓的时候会不会产生冲突!

还有一个问题就是:比如在持有空头头寸的情况下,还没有触发空头平仓条件,但是已经出现符合建立多头头寸的条件,此时可以实现立即平空做多吗?

技术人员回复
日期:2018-6-1 21:35
A策略中可以将bk和sk改为bpk和spk,可以实现有产生反向信号时,平仓反方向建仓

B策略中,图中各点位置与描述有出入?

 
投资者咨询:关于几个点定位的问题@齐云 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-6-1 21:22
刚才图片发错了
投资者咨询:关于几个点定位的问题@齐云 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-6-1 21:22


图片点击可在新窗口打开查看 
技术人员回复
日期:2018-6-1 22:24
这样:

DIFF := EMA(CLOSE,8) - EMA(CLOSE,21);//短周期与长周期的收盘价的指数平滑移动平均值做差。
DEA  :=EMA(DIFF,9);//DIFF的M个周期指数平滑移动平均
MACD:=2*(DIFF-DEA),COLORSTICK;//DIFF减DEA的2倍画柱状线=
MID:=MA(CLOSE,60);//求N个周期的收盘价均线,称为布林通道中轨
TMP2:=STD(CLOSE,60);//求M个周期内的收盘价的标准差
TOP:MID+2*TMP2;//布林通道上轨
BOTTOM:MID-2*TMP2,NOTEXT;//布林通道下轨
MA1:MA(C,13);
MA2:MA(C,60);
MA3:MA(C,120);
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
LC :=REF(CLOSE,1);
RSI:=SMA(MAX(CLOSE-LC,0),7,1)/SMA(ABS(CLOSE-LC),7,1)*100;

J:=CROSS(DIFF,DEA);
S:=CROSSDOWN(DIFF,DEA);

N:=BARSLAST(CROSSDOWN(L,BOTTOM))+1;
B1:J&&SUM(J,N)=1&&EXIST(L<BOTTOM,BARSLAST(S)),NODRAW;
DB:BARSLAST(B1)+1,NODRAW;//金叉B
DC:SUMBARS(B1,2),NODRAW;//金叉C
DD:BARSLAST(J)+1,NODRAW;//金叉D
DE:REF(BARSLAST(S),DB)+DB,NODRAW;//死叉E
DF:REF(BARSLAST(S),DC)+DC,NODRAW;//死叉F
A:=S&&EXIST(H>TOP,DD)&&EXIST(K>80,DD)&&DEA>0&&MA2<MA3&&(REF(EXIST(MA2>MA3,REF(BARSLAST(B1),1)),DB)||NOT(REF(EXIST(MA2>MA3,REF(BARSLAST(B1),1)),DB))&&REF(DEA,DB)<REF(DEA,DC))&&EXIST(MA1<MA2,DD);
A,SK('A');
EXIST(C<BOTTOM,BARSSK)&&DIFF<0&&DEA<0&&J&&DEA>REF(DEA,REF(BARSLAST(J),1)),BP('A');
ISUP&&C>TOP&&C>REF(HHV(H,DD),BARSSK),BP('A');

N1:=BARSLAST(CROSS(H,TOP))+1;
B11:S&&SUM(S,N1)=1&&EXIST(H>TOP,BARSLAST(J)),NODRAW;
DB1:BARSLAST(B11)+1,NODRAW;
DC1:SUMBARS(B11,2),NODRAW;
DD1:BARSLAST(S)+1,NODRAW;
DE1:REF(BARSLAST(J),DB1)+DB1,NODRAW;
DF1:REF(BARSLAST(J),DC1)+DC1,NODRAW;
A1:=J&&EXIST(L<BOTTOM,DD1)&&EXIST(K<20,DD1)&&DEA<0&&MA2>MA3&&(REF(EXIST(MA2<MA3,REF(BARSLAST(B11),1)),DB1)||NOT(REF(EXIST(MA2<MA3,REF(BARSLAST(B11),1)),DB1))&&REF(DEA,DB1)>REF(DEA,DC1))&&EXIST(MA1>MA2,DD1);
A1,BK('B');
EXIST(H>TOP,BARSBK)&&DIFF>0&&DEA>0&&S&&DEA<REF(DEA,REF(BARSLAST(S),1)),SP('B');
ISDOWN&&C<BOTTOM&&C<REF(LLV(L,DD1),BARSBK),SP('B');


AUTOFILTER;

投资者咨询:关于几个点定位的问题@齐云 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-6-1 21:22
老师可以把策略B跟策略A一起写来出来让我看一下效果吗
技术人员回复
日期:2018-6-5 14:24
这样:

DIFF := EMA(CLOSE,8) - EMA(CLOSE,21);//短周期与长周期的收盘价的指数平滑移动平均值做差。
DEA  :=EMA(DIFF,9);//DIFF的M个周期指数平滑移动平均
MACD:=2*(DIFF-DEA),COLORSTICK;//DIFF减DEA的2倍画柱状线=
MID:=MA(CLOSE,60);//求N个周期的收盘价均线,称为布林通道中轨
TMP2:=STD(CLOSE,60);//求M个周期内的收盘价的标准差
TOP:MID+2*TMP2;//布林通道上轨
BOTTOM:MID-2*TMP2,NOTEXT;//布林通道下轨
MA1:MA(C,13);
MA2:MA(C,60);
MA3:MA(C,120);
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
LC :=REF(CLOSE,1);
RSI:=SMA(MAX(CLOSE-LC,0),7,1)/SMA(ABS(CLOSE-LC),7,1)*100;

J:=CROSS(DIFF,DEA);
S:=CROSSDOWN(DIFF,DEA);

N:=BARSLAST(CROSSDOWN(L,BOTTOM))+1;
B1:J&&SUM(J,N)=1&&EXIST(L<BOTTOM,BARSLAST(S)),NODRAW;
DB:BARSLAST(B1)+1,NODRAW;//金叉B
DC:SUMBARS(B1,2),NODRAW;//金叉C
DD:BARSLAST(J)+1,NODRAW;//金叉D
DE:REF(BARSLAST(S),DB)+DB,NODRAW;//死叉E
DF:REF(BARSLAST(S),DC)+DC,NODRAW;//死叉F
A:=S&&EXIST(H>TOP,DD)&&EXIST(K>80,DD)&&DEA>0&&MA2<MA3&&(REF(EXIST(MA2>MA3,REF(BARSLAST(B1),1)),DB)||NOT(REF(EXIST(MA2>MA3,REF(BARSLAST(B1),1)),DB))&&REF(DEA,DB)<REF(DEA,DC))&&EXIST(MA1<MA2,DD);
A,SK('A');
EXIST(C<BOTTOM,BARSSK)&&DIFF<0&&DEA<0&&J&&DEA>REF(DEA,REF(BARSLAST(J),1)),BP('A');
ISUP&&C>TOP&&C>REF(HHV(H,DD),BARSSK),BP('A');

N1:=BARSLAST(CROSS(H,TOP))+1;
B11:S&&SUM(S,N1)=1&&EXIST(H>TOP,BARSLAST(J)),NODRAW;
DB1:BARSLAST(B11)+1,NODRAW;//金叉B
DC1:SUMBARS(B11,2),NODRAW;//金叉C
DD1:BARSLAST(S)+1,NODRAW;//金叉D
DE1:REF(BARSLAST(J),DB1)+DB1,NODRAW;//死叉E
DF1:REF(BARSLAST(J),DC1)+DC1,NODRAW;//死叉F
A1:=J&&EXIST(L<BOTTOM,DD1)&&EXIST(K<20,DD1)&&DEA<0&&MA2>MA3&&(REF(EXIST(MA2<MA3,REF(BARSLAST(B11),1)),DB1)||NOT(REF(EXIST(MA2<MA3,REF(BARSLAST(B11),1)),DB1))&&REF(DEA,DB1)>REF(DEA,DC1))&&EXIST(MA1>MA2,DD1);
A1,BK('B');
EXIST(H>TOP,BARSBK)&&DIFF>0&&DEA>0&&S&&DEA<REF(DEA,REF(BARSLAST(S),1)),SP('B');
ISDOWN&&C<BOTTOM&&C<REF(LLV(L,DD1),BARSBK),SP('B');

//////////////////////////


NB:=BARSLAST(CROSS(H,TOP))+1;
金叉:=CROSS(MACD,0);
死叉:=CROSSDOWN(MACD,0);
B1B:=死叉&&SUM(死叉,NB)=1&&EXIST(H>TOP,BARSLAST(金叉));
DCB:BARSLAST(金叉)+1,NODRAW;//O
DBB:REF(BARSLAST(B1B),1)+2,NODRAW;//O
DDB:REF(BARSLAST(金叉),DBB)+DBB,NODRAW;

ZB:=(EXIST(H>TOP,DCB)&&EXIST(K>80,DCB))||EXIST(D>80,DCB),NODRAW;
AB:=死叉&&DEA>0&&ZB&&REF(MA2,DC)>REF(MA3,DC)&&C>MA3
&&REF(MA2,DBB)>REF(MA3,DBB)&&REF(EXIST(H>TOP,BARSLAST(金叉)+1),DBB)&&DEA<REF(DEA,DBB)&&EXIST(MA1<MA2,DBB);
AB,SK('C');

HHB:REF(HHV(H,DDB),BARSLAST(AB&&SKVOL=0)+1);   
ISUP&&C>HHB&&C>TOP,BP('C');
XB:=COUNT(MA1<MA2&&MA2<MA3,BARSLAST(AB&&SKVOL=0))=1,NODRAW;

XDB:=BARSLAST(XB),NODRAW;
EXIST(RSI<20||DIFF>0,BARSLAST(XB))&&BARSLAST(XB)<BARSSK&&金叉&&DEA>REF(DEA,SUMBARS(金叉,2)),BP('C');

N1B:=BARSLAST(CROSSDOWN(L,BOTTOM))+1;
B11B:=金叉&&SUM(金叉,N1B)=1&&EXIST(L<BOTTOM,BARSLAST(死叉));
DC1B:BARSLAST(死叉)+1,NODRAW;//O
DB1B:REF(BARSLAST(B11B),1)+2,NODRAW;//O
DD1B:REF(BARSLAST(死叉),DB1B)+DB1B,NODRAW;
//&&C<MA3
Z1B:=(EXIST(L<BOTTOM,DC1B)&&EXIST(K<20,DC1B))||EXIST(D<20,DC1B),NODRAW;
A1B:=金叉&&DEA<0&&Z1B&&REF(MA2,DC1B)<REF(MA3,DC1B)
&&REF(MA2,DB1B)<REF(MA3,DB1B)&&REF(EXIST(L<BOTTOM,BARSLAST(死叉)+1),DB1B)&&DEA>REF(DEA,DB1B)&&EXIST(MA1>MA2,DB1B);
A1B,BK('D');
LLB:REF(LLV(L,DD1B),BARSLAST(A1B&&BKVOL=0)+1);   
ISDOWN&&C<LLB&&C<BOTTOM,SP('D');
X1B:=COUNT(MA1>MA2&&MA2>MA3,BARSLAST(A1B&&BKVOL=0))=1,NODRAW;
XD1B:=BARSLAST(X1B),NODRAW;
EXIST(RSI>80||DIFF<0,BARSLAST(X1B))&&BARSLAST(X1B)<BARSBK&&死叉&&DEA<REF(DEA,SUMBARS(死叉,2)),SP('D');
AUTOFILTER;

投资者咨询:关于几个点定位的问题@齐云 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-6-1 21:22
老师,第58行就是之前的策略做空A编的不对,很多该显示信号的时候没有显示,或者显示的时候也是错误的,不符合要求的,请老师核实下
技术人员回复
日期:2018-6-5 22:21
 源码是按照之前的源码修改变量名称转换的,前半部分是b后半部分A

有信号没显示是因为将4种类型进行了分组 某一组开仓后其他组满足信号也不会开仓

不进行分组您在加载实时试试:

如果还有疑问请配合截图说明一下:

DIFF := EMA(CLOSE,8) - EMA(CLOSE,21);//短周期与长周期的收盘价的指数平滑移动平均值做差。
DEA  :=EMA(DIFF,9);//DIFF的M个周期指数平滑移动平均
MACD:=2*(DIFF-DEA),COLORSTICK;//DIFF减DEA的2倍画柱状线=
MID:=MA(CLOSE,60);//求N个周期的收盘价均线,称为布林通道中轨
TMP2:=STD(CLOSE,60);//求M个周期内的收盘价的标准差
TOP:MID+2*TMP2;//布林通道上轨
BOTTOM:MID-2*TMP2,NOTEXT;//布林通道下轨
MA1:MA(C,13);
MA2:MA(C,60);
MA3:MA(C,120);
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K:=SMA(RSV,3,1);
D:=SMA(K,3,1);
LC :=REF(CLOSE,1);
RSI:=SMA(MAX(CLOSE-LC,0),7,1)/SMA(ABS(CLOSE-LC),7,1)*100;
J:=CROSS(DIFF,DEA);
S:=CROSSDOWN(DIFF,DEA);
N:=BARSLAST(CROSSDOWN(L,BOTTOM))+1;
B1:J&&SUM(J,N)=1&&EXIST(L<BOTTOM,BARSLAST(S)),NODRAW;
DB:BARSLAST(B1)+1,NODRAW;//金叉B
DC:SUMBARS(B1,2),NODRAW;//金叉C
DD:BARSLAST(J)+1,NODRAW;//金叉D
DE:REF(BARSLAST(S),DB)+DB,NODRAW;//死叉E
DF:REF(BARSLAST(S),DC)+DC,NODRAW;//死叉F
A:=S&&EXIST(H>TOP,DD)&&EXIST(K>80,DD)&&DEA>0&&MA2<MA3&&(REF(EXIST(MA2>MA3,REF(BARSLAST(B1),1)),DB)||NOT(REF(EXIST(MA2>MA3,REF(BARSLAST(B1),1)),DB))&&REF(DEA,DB)<REF(DEA,DC))&&EXIST(MA1<MA2,DD);
A,SK('A');
EXIST(C<BOTTOM,BARSSK)&&DIFF<0&&DEA<0&&J&&DEA>REF(DEA,REF(BARSLAST(J),1)),BP('A');
ISUP&&C>TOP&&C>REF(HHV(H,DD),BARSSK),BP('A');

N1:=BARSLAST(CROSS(H,TOP))+1;
B11:S&&SUM(S,N1)=1&&EXIST(H>TOP,BARSLAST(J)),NODRAW;
DB1:BARSLAST(B11)+1,NODRAW;//金叉B
DC1:SUMBARS(B11,2),NODRAW;//金叉C
DD1:BARSLAST(S)+1,NODRAW;//金叉D
DE1:REF(BARSLAST(J),DB1)+DB1,NODRAW;//死叉E
DF1:REF(BARSLAST(J),DC1)+DC1,NODRAW;//死叉F
A1:=J&&EXIST(L<BOTTOM,DD1)&&EXIST(K<20,DD1)&&DEA<0&&MA2>MA3&&(REF(EXIST(MA2<MA3,REF(BARSLAST(B11),1)),DB1)||NOT(REF(EXIST(MA2<MA3,REF(BARSLAST(B11),1)),DB1))&&REF(DEA,DB1)>REF(DEA,DC1))&&EXIST(MA1>MA2,DD1);
A1,BK('A');
EXIST(H>TOP,BARSBK)&&DIFF>0&&DEA>0&&S&&DEA<REF(DEA,REF(BARSLAST(S),1)),SP('A');
ISDOWN&&C<BOTTOM&&C<REF(LLV(L,DD1),BARSBK),SP('A');

//////////////////////////


NB:=BARSLAST(CROSS(H,TOP))+1;
金叉:=CROSS(MACD,0);
死叉:=CROSSDOWN(MACD,0);
B1B:=死叉&&SUM(死叉,NB)=1&&EXIST(H>TOP,BARSLAST(金叉));
DCB:BARSLAST(金叉)+1,NODRAW;//O
DBB:REF(BARSLAST(B1B),1)+2,NODRAW;//O
DDB:REF(BARSLAST(金叉),DBB)+DBB,NODRAW;

ZB:=(EXIST(H>TOP,DCB)&&EXIST(K>80,DCB))||EXIST(D>80,DCB),NODRAW;
AB:=死叉&&DEA>0&&ZB&&REF(MA2,DC)>REF(MA3,DC)&&C>MA3
&&REF(MA2,DBB)>REF(MA3,DBB)&&REF(EXIST(H>TOP,BARSLAST(金叉)+1),DBB)&&DEA<REF(DEA,DBB)&&EXIST(MA1<MA2,DBB);
AB,SK('A');

HHB:REF(HHV(H,DDB),BARSLAST(AB&&SKVOL=0)+1);   
ISUP&&C>HHB&&C>TOP,BP('A');
XB:=COUNT(MA1<MA2&&MA2<MA3,BARSLAST(AB&&SKVOL=0))=1,NODRAW;

XDB:=BARSLAST(XB),NODRAW;
EXIST(RSI<20||DIFF>0,BARSLAST(XB))&&BARSLAST(XB)<BARSSK&&金叉&&DEA>REF(DEA,SUMBARS(金叉,2)),BP('A');

N1B:=BARSLAST(CROSSDOWN(L,BOTTOM))+1;
B11B:=金叉&&SUM(金叉,N1B)=1&&EXIST(L<BOTTOM,BARSLAST(死叉));
DC1B:BARSLAST(死叉)+1,NODRAW;//O
DB1B:REF(BARSLAST(B11B),1)+2,NODRAW;//O
DD1B:REF(BARSLAST(死叉),DB1B)+DB1B,NODRAW;
//&&C<MA3
Z1B:=(EXIST(L<BOTTOM,DC1B)&&EXIST(K<20,DC1B))||EXIST(D<20,DC1B),NODRAW;
A1B:=金叉&&DEA<0&&Z1B&&REF(MA2,DC1B)<REF(MA3,DC1B)
&&REF(MA2,DB1B)<REF(MA3,DB1B)&&REF(EXIST(L<BOTTOM,BARSLAST(死叉)+1),DB1B)&&DEA>REF(DEA,DB1B)&&EXIST(MA1>MA2,DB1B);
A1B,BK('A');
LLB:REF(LLV(L,DD1B),BARSLAST(A1B&&BKVOL=0)+1);   
ISDOWN&&C<LLB&&C<BOTTOM,SP('A');
X1B:=COUNT(MA1>MA2&&MA2>MA3,BARSLAST(A1B&&BKVOL=0))=1,NODRAW;
XD1B:=BARSLAST(X1B),NODRAW;
EXIST(RSI>80||DIFF<0,BARSLAST(X1B))&&BARSLAST(X1B)<BARSBK&&死叉&&DEA<REF(DEA,SUMBARS(死叉,2)),SP('A');
AUTOFILTER;

投资者咨询:关于几个点定位的问题@齐云 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-6-1 21:22
如果这样不进行分组,A策略会占用B策略的平仓条件,这样就不符合我的本意了。
我的要求是:
①AB策略用它们各自的平仓条件,不互通;
②在持有空头头寸的情况下,只要出现符合做多的条件不管是哪一组的,都进行平空做多。反之也是一样。

老师您看这样能不能实现?