跨周期顾比引用指标中的五分钟MA5 (文华财经WH8赢智V8.2)

投资者咨询:跨周期顾比引用指标中的五分钟MA5 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2019-7-26 12:11
 MA5:MA(C,5);
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(CE1:=EXIST(EVERY(CE2:=EXIST(EVERY(C>MA60,10),BARSLAST(TIME=1000)+1);
M1:=BARSLAST(TIME=0900)+1;
CON:=CLOSE>MA60&&H>HV(H,M1);
COM:=CLOSEA1:=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)&&EVERY(C>MA60,20)&&(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 VAR.BB&&EXIST(VAR.AA,DAYBARPOS)&&EVERY(C=1000&&TIME<1450)&&EXIST(COM,DAYBARPOS)&&NOT(EVERY(MA20>REF(MA20,1),10))&&LLV(L,60)=LLV(L,M1),SK('A');
VAR.B&&EVERY(MA20>REF(MA20,1),10)&&EVERY(REF(C,1)>REF(MA20,1),13)&&CLOSE<=MA20&&MA20>MA60&&(TIME>=1000&&TIME<1450)&&C1&&D1&&E1,BPK('B');
VAR.BB&&EVERY(MA20=MA20&&MA20=1000&&TIME<1450)&&C2&&D2&&E2,SPK('B');
T1:=EVERY(MA40T2:=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(MA40VAR.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');
EVERY(REF(MA20,1)>REF(MA20,2),10)&&MA20EVERY(REF(MA20,1)MA60&&CLOSE>=MA20,SP('A');
EVERY(REF(MA20,1)>REF(MA20,2),10)&&MA20>MA60&&CLOSE<=MA30,BP('A');
EVERY(REF(MA20,1)=MA30,SP('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;
CC>=SKPRICE*(1+NN),BP('A');
TIME=1459,CLOSEOUT;
TIME=1459,SP('A');
TIME=1459,BP('A');
TIME=1459,SP('B');
TIME=1459,BP('B');
AUTOFILTER;
MULTSIG(0,0,1,0);

引用AA
  Q:=MIN(BARSLAST(TIME=900)+1,DAYBARPOS);
MA5:IF(Q<5,MA(C,Q),MA(CLOSE,5));
MA10:MA(CLOSE,10);
MA20:MA(CLOSE,20);
MA30:MA(CLOSE,30);
MA40:MA(CLOSE,40);
MA50:MA(CLOSE,50);
MA60:MA(CLOSE,60);
A:=EVERY(MA5>=REF(MA5,1),6)&&(TIME>=0930&&TIME<=1450);
B:=EVERY(MA30>REF(MA30,1),10)&&EVERY(MA40>REF(MA40,1),10)&&EVERY(MA50>REF(MA50,1),10)&&EVERY(MA60>REF(MA60,1),10)&&MA20>MA30&&MA30>MA40&&MA40>MA50&&MA50>MA60&&EVERY(C>MA30,BARSLAST(TIME>=1000&&TIME<1005)+1);
D:=EVERY(C<MA30,9)&&MA30<REF(MA30,1);
BB:=EVERY(MA30<REF(MA30,1),10)&&EVERY(MA40<REF(MA40,1),10)&&EVERY(MA50<REF(MA50,1),10)&&EVERY(MA60<REF(MA60,1),10)&&MA20<MA30&&MA30<MA40&&MA40<MA50&&MA50<MA60&&EVERY(C<MA30,BARSLAST(TIME>=1000&&TIME<1005)+1);
AA:=EVERY(MA5<=REF(MA5,1),6)&&(TIME>=0930&&TIME<=1450);
DD:=EVERY(C>MA30,9)&&MA30>REF(MA30,1);
加载在M1909的一分钟线上,今天10:00开仓,用返回值显示9:30符合红线部分,我计算后是不符合 红线部分,我的五分钟MA5计算是从9:00开始的,这样计算的五分钟线上的MA5值今天白盘第一根开始分别 
2777/2777/2776.67/2776.75/2776.2但为什么显示符合红线部分



 
 

   
技术人员回复
日期:2019-7-26 13:27
想要引用什么条件需要在被引用指标编写完,再进行引用,所以这里的EXIST(VAR.AA,DAYBARPOS)需要改一下

并且,您的模型是指令价模型,是在盘中满足条件就会出现信号,可能在盘中满足条件,但是在盘后不满足,这样都是可以出信号的

参考:

 Q:=MIN(BARSLAST(TIME=900)+1,DAYBARPOS); 
MA5:IF(Q<5,MA(C,Q),MA(CLOSE,5));
MA10:MA(CLOSE,10);
MA20:MA(CLOSE,20);
MA30:MA(CLOSE,30);
MA40:MA(CLOSE,40);
MA50:MA(CLOSE,50);
MA60:MA(CLOSE,60);
A:=EXIST(EVERY(MA5>=REF(MA5,1),6)&&(TIME>=0930&&TIME<=1450),DAYBARPOS);
B:=EVERY(MA30>REF(MA30,1),10)&&EVERY(MA40>REF(MA40,1),10)&&EVERY(MA50>REF(MA50,1),10)&&EVERY(MA60>REF(MA60,1),10)&&MA20>MA30&&MA30>MA40&&MA40>MA50&&MA50>MA60&&EVERY(C>MA30,BARSLAST(TIME>=1000&&TIME<1005)+1);
D:=EVERY(C<MA30,9)&&MA30<REF(MA30,1);
BB:=EVERY(MA30<REF(MA30,1),10)&&EVERY(MA40<REF(MA40,1),10)&&EVERY(MA50<REF(MA50,1),10)&&EVERY(MA60<REF(MA60,1),10)&&MA20<MA30&&MA30<MA40&&MA40<MA50&&MA50<MA60&&EVERY(C<MA30,BARSLAST(TIME>=1000&&TIME<1005)+1);
AA:=EXIST(EVERY(MA5<=REF(MA5,1),6)&&(TIME>=0930&&TIME<=1450),DAYBARPOS);
DD:=EVERY(C>MA30,9)&&MA30>REF(MA30,1);


 MA5:MA(C,5);
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);
E1:=EXIST(EVERY(C<MA60,10),BARSLAST(TIME=1000)+1);
E2:=EXIST(EVERY(C>MA60,10),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&&VAR.A&&EVERY(C>MA60,A1)&&EVERY(C>MA60,20)&&(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&&VAR.AA&&EVERY(C<MA60,B1)&&EVERY(C<MA60,20)&&(CLOSE<MA60)&&EVERY(MA60<REF(MA60,1),20) &&(MA60-CLOSE)<=C*0.001&&(TIME>=1000&&TIME<1450)&&EXIST(COM,DAYBARPOS)&&NOT(EVERY(MA20>REF(MA20,1),10))&&LLV(L,60)=LLV(L,M1),SK('A');
VAR.B&&EVERY(MA20>REF(MA20,1),10)&&EVERY(REF(C,1)>REF(MA20,1),13)&&CLOSE<=MA20&&MA20>MA60&&(TIME>=1000&&TIME<1450)&&C1&&D1&&E1,BPK('B');
VAR.BB&&EVERY(MA20<REF(MA20,1),10)&&EVERY(REF(C,1)<REF(MA20,1),13)&&CLOSE>=MA20&&MA20<MA60&&(TIME>=1000&&TIME<1450)&&C2&&D2&&E2,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');
EVERY(REF(MA20,1)>REF(MA20,2),10)&&MA20<MA60&&CLOSE<=MA20,BP('A');
EVERY(REF(MA20,1)<REF(MA20,2),10)&&MA20>MA60&&CLOSE>=MA20,SP('A');
EVERY(REF(MA20,1)>REF(MA20,2),10)&&MA20>MA60&&CLOSE<=MA30,BP('A');
EVERY(REF(MA20,1)<REF(MA20,2),10)&&MA20<MA60&&CLOSE>=MA30,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,CLOSEOUT;
TIME=1459,SP('A');
TIME=1459,BP('A');
TIME=1459,SP('B');
TIME=1459,BP('B');
AUTOFILTER;
MULTSIG(0,0,1,0);
 
投资者咨询:跨周期顾比引用指标中的五分钟MA5 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2019-7-26 12:11
 用返回值显示9:30分符合红线部分,这还是解释不了,第4根MA5是大于前一MA5,无论如何的盘中数据,  9:30分是不可能满足的,这如何理解
技术人员回复
日期:2019-7-26 14:22
您是用指令价模型,这里就不能用返回值,返回值只能判断K线走完是否满足条件

如果您给改成收盘价模型,那么就会按照收盘价去计算,这里就没有问题

但是您的模型是指令价模型,逐笔tick回测,是每一笔tick计算一次

如果收盘价没有信号,指令价却出现信号,那么就是在盘中某一笔tick满足了条件

这里是没有问题的,会按照您的条件去下单
投资者咨询:跨周期顾比引用指标中的五分钟MA5 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2019-7-26 12:11
 我的意思是五分钟线9:20那根K线MA5是大于前一MA5,怎么可能 在9:30出现连续6次MA5下降,这和指令价收盘价没有关系  你能计算一下五分钟K线的MA5数值吗
技术人员回复
日期:2019-7-26 14:49
 9.15分的K线,MA5是2776.75,9点20的K线,MA5是2776.20,在9点40的时候,是连续下降5次

因为是指令价模型,逐笔tick回测,在9点45分这根K线,MA5计算的是实时价格,如果在盘中有MA5小于前一根K线的MA5的话,就会满足连续6次下降的条件

您是怎么对比的,请配合截图进行说明(图中A11A,代表着连续满足5均线小于前一根K线的5均线的次数)



图片点击可在新窗口打开查看



图片点击可在新窗口打开查看



图片点击可在新窗口打开查看
投资者咨询:跨周期顾比引用指标中的五分钟MA5 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2019-7-26 12:11
1楼模组加了下面然后加载
T1:EXIST(VAR.AA,DAYBARPOS);
十字光标显示为0到9:30显示为1 ,那是否可以理解为9:30满足了 红线部分

图片点击可在新窗口打开查看
技术人员回复
日期:2019-7-26 15:16
 这样写是不对的,您按照2楼给您修改后的语句查看
投资者咨询:跨周期顾比引用指标中的五分钟MA5 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2019-7-26 12:11
 不对在哪,不是通过返回值来确认是否满足条件,2楼我后续会加载,但我首先要搞清楚前面为什么,测试不对在哪呢 
否则你也没有明白我的思路,你的意思我明白要五分钟K线走完的写法,
技术人员回复
日期:2019-7-26 15:27
 2楼已经给您解释了

想要引用什么条件需要在被引用指标编写完,再进行引用

EXIST这个条件需要写在被引用指标里,不能写在主模型中,否则很容易出现错误