分组指令如何应用 (文华财经WH8赢智V8.2)

投资者咨询:分组指令如何应用 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2019-7-17 20:31
 MA10:MA(C,10);
MA20:MA(C,20);
MA30:MA(CLOSE,30);
MA40:MA(CLOSE,40);
MA50:MA(CLOSE,50);
MA60:MA(CLOSE,60);
C1:=NOT(REF(EXIST(H=HHV(H,BARSLAST(TIME=0900)+1),20),1));
C2:=NOT(REF(EXIST(L=LLV(L,BARSLAST(TIME=0900)+1),20),1));
D1:=EXIST(EVERY(C>MA60&&MA60>REF(MA60,1),20),BARSLAST(TIME=1000)+1);
D2:=EXIST(EVERY(C<MA60&&MA60<REF(MA60,1),20),BARSLAST(TIME=1000)+1);
M1:=BARSLAST(TIME=0900)+1;
CON:=CLOSE>MA60&&H>HV(H,M1);
COM:=CLOSE<MA60&&L<LV(L,M1);
A1:=BARSLAST(CON)+1,NODRAW;
B1:=BARSLAST(COM)+1,NODRAW;
#IMPORT [MIN,5,AA] AS VAR
 VAR.B&&EXIST(VAR.A,DAYBARPOS)&&EVERY(C>MA60,A1)&&(CLOSE>MA60)&&EVERY(MA60>REF(MA60,1),20) &&(CLOSE-MA60)<=C*0.001&&(TIME>=1000&&TIME<1450)&&EXIST(CON,DAYBARPOS)&&HHV(H,60)=HHV(H,M1)&&NOT(EVERY(MA20<REF(MA20,1),10)),BK;
 VAR.BB&&EXIST(VAR.AA,DAYBARPOS)&&EVERY(C<MA60,B1)&&(CLOSE<MA60)&&EVERY(MA60<REF(MA60,1),20) &&(MA60-CLOSE)<=C*0.001&&(TIME>=1000&&TIME<1450)&&EXIST(COM,DAYBARPOS)&&LLV(L,60)=LLV(L,M1)&&NOT(EVERY(MA20>REF(MA20,1),10)),SK;
VAR.B&&EVERY(MA20>REF(MA20,1),10)&&CLOSE<=MA20&&MA20>MA60&&(TIME>=1000&&TIME<1450)&&C1&&D1,BPK;
VAR.BB&&EVERY(MA20<REF(MA20,1),10)&&CLOSE>=MA20&&MA20<MA60&&(TIME>=1000&&TIME<1450)&&C2&&D2,SPK;
T1:=EVERY(MA40<REF(MA40,1)&&MA50<REF(MA50,1)&&MA60<REF(MA60,1),10);
T2:=EVERY(MA40>MA30,10)&&EVERY(MA60>MA50,10)&&EVERY(MA50>MA40,10);
T11:=EVERY(MA40>REF(MA40,1)&&MA50>REF(MA50,1)&&MA60>REF(MA60,1),10);
T22:=EVERY(MA40<MA30,10)&&EVERY(MA60<MA50,10)&&EVERY(MA50<MA40,10);
VAR.D&&T11&&T22&&(CLOSE-MA60)<=C*0.001&&(TIME>=1000&&TIME<1450),BP;
VAR.DD&&T1&&T2&&(MA60-CLOSE)<=C*0.001&&(TIME>=1000&&TIME<1450),SP;
N:=BARSLAST(CROSS(TIME>=0900&&TIME<1100,0.5))+1;
HH:=HHV(H,N);
LL:=LLV(L,N);
R:=VALUEWHEN(N<DAYBARPOS,(HH-LL)/C),PRECIS4;
AD:=IF(DAYBARPOS=1,R,0);
ZF:(SUM(AD,SUMBARS(DAYBARPOS=1,29))+R)/30,PRECIS4;
NN:IF(ZF<=0.014,0.003,IF(ZF<=0.020&&ZF>0.014,0.0035,0.004)),PRECIS4;
C<BKPRICE*(1-NN),SP;
C>=SKPRICE*(1+NN),BP;
TIME=1459,SP;
TIME=1459,BP;
AUTOFILTER;
MULTSIG(0,0,1,0);
原模组如上,红色部分是开仓,而后面的每一组平仓我 是希望对红色部分的平仓,就是一个开仓有多个可能的平仓,这个如何用分组指令来处理
技术人员回复
日期:2019-7-17 20:37
如下修改:

 MA10:MA(C,10);
MA20:MA(C,20);
MA30:MA(CLOSE,30);
MA40:MA(CLOSE,40);
MA50:MA(CLOSE,50);
MA60:MA(CLOSE,60);
C1:=NOT(REF(EXIST(H=HHV(H,BARSLAST(TIME=0900)+1),20),1));
C2:=NOT(REF(EXIST(L=LLV(L,BARSLAST(TIME=0900)+1),20),1));
D1:=EXIST(EVERY(C>MA60&&MA60>REF(MA60,1),20),BARSLAST(TIME=1000)+1);
D2:=EXIST(EVERY(C<MA60&&MA60<REF(MA60,1),20),BARSLAST(TIME=1000)+1);
M1:=BARSLAST(TIME=0900)+1;
CON:=CLOSE>MA60&&H>HV(H,M1);
COM:=CLOSE<MA60&&L<LV(L,M1);
A1:=BARSLAST(CON)+1,NODRAW;
B1:=BARSLAST(COM)+1,NODRAW;
#IMPORT [MIN,5,AA] AS VAR
 VAR.B&&EXIST(VAR.A,DAYBARPOS)&&EVERY(C>MA60,A1)&&(CLOSE>MA60)&&EVERY(MA60>REF(MA60,1),20) &&(CLOSE-MA60)<=C*0.001&&(TIME>=1000&&TIME<1450)&&EXIST(CON,DAYBARPOS)&&HHV(H,60)=HHV(H,M1)&&NOT(EVERY(MA20<REF(MA20,1),10)),BK('A');
 VAR.BB&&EXIST(VAR.AA,DAYBARPOS)&&EVERY(C<MA60,B1)&&(CLOSE<MA60)&&EVERY(MA60<REF(MA60,1),20) &&(MA60-CLOSE)<=C*0.001&&(TIME>=1000&&TIME<1450)&&EXIST(COM,DAYBARPOS)&&LLV(L,60)=LLV(L,M1)&&NOT(EVERY(MA20>REF(MA20,1),10)),SK('A');
VAR.B&&EVERY(MA20>REF(MA20,1),10)&&CLOSE<=MA20&&MA20>MA60&&(TIME>=1000&&TIME<1450)&&C1&&D1,BPK;
VAR.BB&&EVERY(MA20<REF(MA20,1),10)&&CLOSE>=MA20&&MA20<MA60&&(TIME>=1000&&TIME<1450)&&C2&&D2,SPK;
T1:=EVERY(MA40<REF(MA40,1)&&MA50<REF(MA50,1)&&MA60<REF(MA60,1),10);
T2:=EVERY(MA40>MA30,10)&&EVERY(MA60>MA50,10)&&EVERY(MA50>MA40,10);
T11:=EVERY(MA40>REF(MA40,1)&&MA50>REF(MA50,1)&&MA60>REF(MA60,1),10);
T22:=EVERY(MA40<MA30,10)&&EVERY(MA60<MA50,10)&&EVERY(MA50<MA40,10);
VAR.D&&T11&&T22&&(CLOSE-MA60)<=C*0.001&&(TIME>=1000&&TIME<1450),BP('A');
VAR.DD&&T1&&T2&&(MA60-CLOSE)<=C*0.001&&(TIME>=1000&&TIME<1450),SP('A');
N:=BARSLAST(CROSS(TIME>=0900&&TIME<1100,0.5))+1;
HH:=HHV(H,N);
LL:=LLV(L,N);
R:=VALUEWHEN(N<DAYBARPOS,(HH-LL)/C),PRECIS4;
AD:=IF(DAYBARPOS=1,R,0);
ZF:(SUM(AD,SUMBARS(DAYBARPOS=1,29))+R)/30,PRECIS4;
NN:IF(ZF<=0.014,0.003,IF(ZF<=0.020&&ZF>0.014,0.0035,0.004)),PRECIS4;
C<BKPRICE*(1-NN),SP('A');
C>=SKPRICE*(1+NN),BP('A');
TIME=1459,SP('A');
TIME=1459,BP('A');
AUTOFILTER;
MULTSIG(0,0,1,0);
投资者咨询:分组指令如何应用 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2019-7-17 20:31
 
VAR.B&&EVERY(MA20>REF(MA20,1),10)&&CLOSE<=MA20&&MA20>MA60&&(TIME>=1000&&TIME<1450)&&C1&&D1,BPK;
VAR.BB&&EVERY(MA20<REF(MA20,1),10)&&CLOSE>=MA20&&MA20<MA60&&(TIME>=1000&&TIME<1450)&&C2&&D2,SPK;
这个不能加 ('A');吗
技术人员回复
日期:2019-7-17 21:11
这个也是开仓语句,根据1楼思路只需要标红部分的源码和剩余的平仓为一组

所以SPK BPK不是A组的,后面不写A默认就是另外一组
投资者咨询:分组指令如何应用 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2019-7-17 20:31
 开仓后平仓,可能在后来又满足条件开仓了,我只希望每个开仓信号只开仓一次,如何处理 
技术人员回复
日期:2019-7-18 8:52
是指一个组别只执行一次开仓信号?

比如A组开仓,平仓后,A组不再开仓,要B组开仓?
投资者咨询:分组指令如何应用 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2019-7-17 20:31
 是的 ,另外下面一组是止损的被编写成('A');,
 N:=BARSLAST(CROSS(TIME>=0900&&TIME<1100,0.5))+1;
HH:=HHV(H,N);
LL:=LLV(L,N);
R:=VALUEWHEN(NAD:=IF(DAYBARPOS=1,R,0);
ZF:(SUM(AD,SUMBARS(DAYBARPOS=1,29))+R)/30,PRECIS4;
NN:IF(ZF<=0.014,0.003,IF(ZF<=0.020&&ZF>0.014,0.0035,0.004)),PRECIS4;
C
C>=SKPRICE*(1+NN),BP;
 我可以再编写成上述重复应用在另一组吗
 
技术人员回复
日期:2019-7-18 9:12
参考:

MA10:MA(C,10);
MA20:MA(C,20);
MA30:MA(CLOSE,30);
MA40:MA(CLOSE,40);
MA50:MA(CLOSE,50);
MA60:MA(CLOSE,60);
C1:=NOT(REF(EXIST(H=HHV(H,BARSLAST(TIME=0900)+1),20),1));
C2:=NOT(REF(EXIST(L=LLV(L,BARSLAST(TIME=0900)+1),20),1));
D1:=EXIST(EVERY(C>MA60&&MA60>REF(MA60,1),20),BARSLAST(TIME=1000)+1);
D2:=EXIST(EVERY(C<MA60&&MA60<REF(MA60,1),20),BARSLAST(TIME=1000)+1);
M1:=BARSLAST(TIME=0900)+1;
CON:=CLOSE>MA60&&H>HV(H,M1);
COM:=CLOSE<MA60&&L<LV(L,M1);
A1:=BARSLAST(CON)+1,NODRAW;
B1:=BARSLAST(COM)+1,NODRAW;
#IMPORT [MIN,5,AA] AS VAR
SS:=COUNT(BK,BARPOS)+COUNT(SK,BARPOS)+COUNT(BPK,BARPOS)+COUNT(SPK,BARPOS)=0;
VAR.B&&EXIST(VAR.A,DAYBARPOS)&&EVERY(C>MA60,A1)&&(CLOSE>MA60)&&EVERY(MA60>REF(MA60,1),20) &&(CLOSE-MA60)<=C*0.001&&(TIME>=1000&&TIME<1450)&&EXIST(CON,DAYBARPOS)&&HHV(H,60)=HHV(H,M1)&&NOT(EVERY(MA20<REF(MA20,1),10))&&(LASTSIGGROUP=2||SS=1),BK('A');
VAR.BB&&EXIST(VAR.AA,DAYBARPOS)&&EVERY(C<MA60,B1)&&(CLOSE<MA60)&&EVERY(MA60<REF(MA60,1),20) &&(MA60-CLOSE)<=C*0.001&&(TIME>=1000&&TIME<1450)&&EXIST(COM,DAYBARPOS)&&LLV(L,60)=LLV(L,M1)&&NOT(EVERY(MA20>REF(MA20,1),10))&&(LASTSIGGROUP=2||SS=1),SK('A');
VAR.B&&EVERY(MA20>REF(MA20,1),10)&&CLOSE<=MA20&&MA20>MA60&&(TIME>=1000&&TIME<1450)&&C1&&D1&&(LASTSIGGROUP=1||SS=1),BPK('B');
VAR.BB&&EVERY(MA20<REF(MA20,1),10)&&CLOSE>=MA20&&MA20<MA60&&(TIME>=1000&&TIME<1450)&&C2&&D2&&(LASTSIGGROUP=1||SS=1),SPK('B');
T1:=EVERY(MA40<REF(MA40,1)&&MA50<REF(MA50,1)&&MA60<REF(MA60,1),10);
T2:=EVERY(MA40>MA30,10)&&EVERY(MA60>MA50,10)&&EVERY(MA50>MA40,10);
T11:=EVERY(MA40>REF(MA40,1)&&MA50>REF(MA50,1)&&MA60>REF(MA60,1),10);
T22:=EVERY(MA40<MA30,10)&&EVERY(MA60<MA50,10)&&EVERY(MA50<MA40,10);
VAR.D&&T11&&T22&&(CLOSE-MA60)<=C*0.001&&(TIME>=1000&&TIME<1450),BP('A');
VAR.DD&&T1&&T2&&(MA60-CLOSE)<=C*0.001&&(TIME>=1000&&TIME<1450),SP('A');
N:=BARSLAST(CROSS(TIME>=0900&&TIME<1100,0.5))+1;
HH:=HHV(H,N);
LL:=LLV(L,N);
R:=VALUEWHEN(N<DAYBARPOS,(HH-LL)/C),PRECIS4;
AD:=IF(DAYBARPOS=1,R,0);
ZF:(SUM(AD,SUMBARS(DAYBARPOS=1,29))+R)/30,PRECIS4;
NN:IF(ZF<=0.014,0.003,IF(ZF<=0.020&&ZF>0.014,0.0035,0.004)),PRECIS4;
C<BKPRICE*(1-NN),SP('A');
C>=SKPRICE*(1+NN),BP('A');
TIME=1459,SP('A');
TIME=1459,BP('A');
AUTOFILTER;
MULTSIG(0,0,1,0);
投资者咨询:分组指令如何应用 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2019-7-17 20:31
 
C<BKPRICE*(1-NN),SP('A');
C>=SKPRICE*(1+NN),BP('A');
TIME=1459,SP('A');
TIME=1459,BP('A');我也想在B 组应用的 
技术人员回复
日期:2019-7-18 9:23
这几句既在A组使用,也在B组使用?还是只在B组使用?