//横盘:
N:=9;
N1:=6;
MA5:MA(C,5);
MA10:MA(C,10);
MA20:MA(C,20);
MA30:MA(C,30);
MTM := CLOSE-REF(CLOSE,N);//收盘价与N周期前收盘价做差
MTMMA := MA(MTM,N1);//MTM的N1周期简单均值。
DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K1:SMA(RSV,3,1);
D1:SMA(K1,3,1);
NN:=10;//根数
XX:=10;//粘合的标准
CON1:=EVERY((MAX1(MA5,MA10,MA20)-MIN1(MA5,MA10,MA20))<XX,NN);
D:=(C>MA5||CROSS(C,MA5)) && MA5>REF(MA5,1) && MA10>REF(MA10,1) && MA20>REF(MA20,1) && MA30>REF(MA30,1) &&(CROSS(MTM,0)||CROSS(MTM,MTMMA)||MTM>REF(MTM,1)) || (K1>REF(K1,1) || CROSS(K1,D1)) && (CROSS(DIFF,DEA)||DIFF>REF(DIFF,1));
K:=(C<MA5||CROSSDOWN(C,MA5)) && MA5<REF(MA5,1) && MA10<REF(MA10,1) && MA20<REF(MA20,1) && MA30<REF(MA30,1) &&(CROSSDOWN(MTM,0)||CROSSDOWN(MTM,MTMMA)||MTM<REF(MTM,1)) || (K1<REF(K1,1) || CROSSDOWN(K1,D1)) && (CROSSDOWN(DIFF,DEA) ||DIFF<REF(DIFF,1));
DRAWICON(D && EXIST(CON1,10),L,4),VALIGN0;
DRAWICON(K && EXIST(CON1,10),H,5);
此前给您编写过类似思路,您在衡量上涨或者下跌部分以及横盘部分时需要您提供具体的量化语言才能精确编写的,否则肯定会跟您思路不一样,您了解下
//上涨下跌:
N:=9;
N1:=6;
MA5:MA(C,5);
MA10:MA(C,10);
MA20:MA(C,20);
MA30:MA(C,30);
MTM := CLOSE-REF(CLOSE,N);//收盘价与N周期前收盘价做差
MTMMA := MA(MTM,N1);//MTM的N1周期简单均值。
DIFF:=EMA(CLOSE,12) - EMA(CLOSE,26);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;
RSV:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;
K1:SMA(RSV,3,1);
D1:SMA(K1,3,1);
幅度:=0.1;//
上涨下跌在几个周期内:=10;//
下跌:=(HV(H,50)-L)/L>幅度 && L=REFX(LLV(L,2),1);
CON3:=FILTER(下跌,50);
上涨:=(H-LV(L,50))/LV(L,50)>幅度 && H=REFX(HHV(H,2),1);
CON4:=FILTER(上涨,50);
D:=(C>MA5||CROSS(C,MA5)) && MA5>REF(MA5,1) &&(CROSS(MTM,0)||CROSS(MTM,MTMMA)||MTM>REF(MTM,1)) || (K1>REF(K1,1) || CROSS(K1,D1)) && (CROSS(DIFF,DEA)||DIFF>REF(DIFF,1));
K:=(C<MA5||CROSSDOWN(C,MA5)) && MA5<REF(MA5,1) &&(CROSSDOWN(MTM,0)||CROSSDOWN(MTM,MTMMA)||MTM<REF(MTM,1)) || (K1<REF(K1,1) || CROSSDOWN(K1,D1)) && (CROSSDOWN(DIFF,DEA) ||DIFF<REF(DIFF,1));
DRAWICON(D && EXIST(CON3,10),L,4),VALIGN0;
DRAWICON(K && EXIST(CON4,10),H,5);