老师是否可以帮我改一下这两个指标合并为一个?
改成:
1、当30日线向上,K线连续出现笑脸和买↑信号的,第二根K线提示做多;也就是第一根K线出现笑脸(或买↑),第二根K线出现买↑(或笑脸),那么第三根K线就出现做多文字(也就是说笑脸和买↑出现的顺序不用管,只要前后出现就可以,当然,如果前同一个K线同时出现两个信号笑脸和买信号也是在第二根K线提示做多的,而且不需要自动交易,只提示就好,如果能文字和声音同时提示更好了)
2、当30日线向下,K线连续出现哭脸和卖↓信号的,第二根K线提示做空;也就是第一根K线出现哭脸(
3、同时希望哭笑脸和买↑卖↓信号还能继续出现在K线上,如果不行的话就算了。
谢谢老师哦
原码如下:
买卖信号的
N: =1;
N1: =1;
N2: =1;
HH:=HHV(HIGH,1)/5+HHV(HIGH,2)/5+HHV(HIGH,2)/5+HHV(HIGH,5)/5+HHV (HIGH,8)/5;
LL:=LLV(LOW,1)/5+LLV(LOW,2)/5+LLV(LOW,2)/5+LLV(LOW,5)/5+LLV(LOW,8)/5;
H1:= IFELSE(H<REF(H,2)&&REF(H,1)<REF(H,2),REF(H,2),0);
L1:= IFELSE(L>REF(L,2)&&REF(L,1)>REF(L,2),REF(L,2),0);
H2:=VALUEWHEN(H1>0,H1);
L2:=VALUEWHEN(L1>0,L1);
K1:=IFELSE(CLOSE>H2,-3,IFELSE(CLOSE<L2,1,0));
K2:=VALUEWHEN(K1<>0,K1);
GG:=IFELSE(K2=1,H2,L2);
GG1:=VALUEWHEN(ISLASTBAR,GG);
TMP1:=K2;
W1:=K2;
W2:=OPEN-CLOSE;
HT:=IFELSE(OPEN>CLOSE,OPEN,CLOSE);
LT:=IFELSE(OPEN<CLOSE,OPEN,CLOSE);
DRAWTEXT(CROSS(TMP1,0),HH,'卖↓'),COLORGREEN;
DRAWTEXT(CROSS(0,TMP1),LL,'买↑'),COLORYELLOW;
OCH:=MAX(OPEN,CLOSE);
OCL:=MIN(OPEN,CLOSE);
均线信号的
MA2:MA(CLOSE,10);//10
MA3:MA(CLOSE,20);//20
MA4:MA(CLOSE,30);//30
MA6:MA(CLOSE,60);//60
CROSS(MA2,MA3),ICON(0,'ICO1');
CROSSDOWN(MA2,MA3),ICON(1,'ICO2');
CROSS(MA3,MA4),ICON(0,'ICO1');
CROSSDOWN(MA3,MA4),ICON(1,'ICO2');
CROSS(MA4,MA6),ICON(0,'ICO1');
CROSSDOWN(MA4,MA6),ICON(1,'ICO2');
核实一下,原来的箭头信号与笑脸必须是连续两根满足吗?
比如第一根箭头、第二根没有标注、第三根笑脸,那么这样第四根是否成立呢?
嗯嗯,是的,第一是同时两根,第二是如果一根K线同时出现两个信号也提示
如果第一根箭头、第二根没有标注、第三根笑脸,那么这样第四根就不成立了,但是如果第一根同时出现箭头和哭笑脸就可以成立
参考:
N: =1;
N1: =1;
N2: =1;
HH:=HHV(HIGH,1)/5+HHV(HIGH,2)/5+HHV(HIGH,2)/5+HHV(HIGH,5)/5+HHV (HIGH,8)/5;
LL:=LLV(LOW,1)/5+LLV(LOW,2)/5+LLV(LOW,2)/5+LLV(LOW,5)/5+LLV(LOW,8)/5;
H1:= IFELSE(H<REF(H,2)&&REF(H,1)<REF(H,2),REF(H,2),0);
L1:= IFELSE(L>REF(L,2)&&REF(L,1)>REF(L,2),REF(L,2),0);
H2:=VALUEWHEN(H1>0,H1);
L2:=VALUEWHEN(L1>0,L1);
K1:=IFELSE(CLOSE>H2,-3,IFELSE(CLOSE<L2,1,0));
K2:=VALUEWHEN(K1<>0,K1);
GG:=IFELSE(K2=1,H2,L2);
GG1:=VALUEWHEN(ISLASTBAR,GG);
TMP1:=K2;
W1:=K2;
W2:=OPEN-CLOSE;
HT:=IFELSE(OPEN>CLOSE,OPEN,CLOSE);
LT:=IFELSE(OPEN<CLOSE,OPEN,CLOSE);
DRAWTEXT(CROSS(TMP1,0),HH,'卖↓'),COLORGREEN;
DRAWTEXT(CROSS(0,TMP1),LL,'买↑'),COLORYELLOW;
OCH:=MAX(OPEN,CLOSE);
OCL:=MIN(OPEN,CLOSE);
MA2:MA(CLOSE,10);//10
MA3:MA(CLOSE,20);//20
MA4:MA(CLOSE,30);//30
MA6:MA(CLOSE,60);//60
CROSS(MA2,MA3),ICON(0,'ICO1');
CROSSDOWN(MA2,MA3),ICON(1,'ICO2');
CROSS(MA3,MA4),ICON(0,'ICO1');
CROSSDOWN(MA3,MA4),ICON(1,'ICO2');
CROSS(MA4,MA6),ICON(0,'ICO1');
CROSSDOWN(MA4,MA6),ICON(1,'ICO2');
D1:=CROSS(0,TMP1);
D2:=CROSS(MA2,MA3);
D3:=CROSS(MA3,MA4);
D4:=CROSS(MA4,MA6);
DB:=D2||D3||D4;
DD:=D1||D2||D3||D4;
X1:=CROSSDOWN(0,TMP1);
X2:=CROSSDOWN(MA2,MA3);
X3:=CROSSDOWN(MA3,MA4);
X4:=CROSSDOWN(MA4,MA6);
XB:=X3||X2||X4;
XX:=X1||X2||X3||X4;
AA:=REF(D1&&DB,1) || REF(DB||D1,1)&&REF(DB||D1,2)&&REF(EXIST(D1,2),1)&&REF(EXIST(DB,2),1);
BB:=REF(X1&&XB,1) || REF(XB||X1,1)&&REF(XB||X1,2)&&REF(EXIST(X1,2),1)&&REF(EXIST(XB,2),1);
DRAWTEXT(AA,L,'多'),VALIGN0,COLORRED;
DRAWTEXT(BB,H,'空'),COLORGREEN;
可以的,结尾添加两行:
PLAYSOUND(AA,'A');
PLAYSOUND(BB,'B');
非常感谢老师核实一下,原来的箭头信号与笑脸必须是连续两根满足吗?
比如第一根箭头、第二根没有标注、第三根笑脸,那么这样第四根是否成立呢?
额,老师您好,经过今天的运行,感觉您这个提议确实很有必要哦,如果只是前后两个k线出现信号的话,机会比较少哦,您是否可以帮忙改成3根K线之内(含同一根k线同时出现两个信号),出现这两个信号,下一根就提示做多做空?
我的想法是如此反复,都不好意思咯,如果老师方便就帮下忙咯,如果确实不便就算了,还是非常感谢老师的。谢谢
附老师的源码如下
N: =1;
N1: =1;
N2: =1;
HH:=HHV(HIGH,1)/5+HHV(HIGH,2)/5+HHV(HIGH,2)/5+HHV(HIGH,5)/5+HHV (HIGH,8)/5;
LL:=LLV(LOW,1)/5+LLV(LOW,2)/5+LLV(LOW,2)/5+LLV(LOW,5)/5+LLV(LOW,8)/5;
H1:= IFELSE(H<REF(H,2)&&REF(H,1)<REF(H,2),REF(H,2),0);
L1:= IFELSE(L>REF(L,2)&&REF(L,1)>REF(L,2),REF(L,2),0);
H2:=VALUEWHEN(H1>0,H1);
L2:=VALUEWHEN(L1>0,L1);
K1:=IFELSE(CLOSE>H2,-3,IFELSE(CLOSE<L2,1,0));
K2:=VALUEWHEN(K1<>0,K1);
GG:=IFELSE(K2=1,H2,L2);
GG1:=VALUEWHEN(ISLASTBAR,GG);
TMP1:=K2;
W1:=K2;
W2:=OPEN-CLOSE;
HT:=IFELSE(OPEN>CLOSE,OPEN,CLOSE);
LT:=IFELSE(OPEN<CLOSE,OPEN,CLOSE);
DRAWTEXT(CROSS(TMP1,0),HH,'卖↓'),COLORGREEN;
DRAWTEXT(CROSS(0,TMP1),LL,'买↑'),COLORYELLOW;
OCH:=MAX(OPEN,CLOSE);
OCL:=MIN(OPEN,CLOSE);
MA2:MA(CLOSE,10);//10
MA3:MA(CLOSE,20);//20
MA4:MA(CLOSE,30);//30
MA6:MA(CLOSE,60);//60
CROSS(MA2,MA3),ICON(0,'ICO1');
CROSSDOWN(MA2,MA3),ICON(1,'ICO2');
CROSS(MA3,MA4),ICON(0,'ICO1');
CROSSDOWN(MA3,MA4),ICON(1,'ICO2');
CROSS(MA4,MA6),ICON(0,'ICO1');
CROSSDOWN(MA4,MA6),ICON(1,'ICO2');
D1:=CROSS(0,TMP1);
D2:=CROSS(MA2,MA3);
D3:=CROSS(MA3,MA4);
D4:=CROSS(MA4,MA6);
DB:=D2||D3||D4;
DD:=D1||D2||D3||D4;
X1:=CROSSDOWN(0,TMP1);
X2:=CROSSDOWN(MA2,MA3);
X3:=CROSSDOWN(MA3,MA4);
X4:=CROSSDOWN(MA4,MA6);
XB:=X3||X2||X4;
XX:=X1||X2||X3||X4;
AA:=REF(D1&&DB,1) || REF(DB||D1,1)&&REF(DB||D1,2)&&REF(EXIST(D1,2),1)&&REF(EXIST(DB,2),1);
BB:=REF(X1&&XB,1) || REF(XB||X1,1)&&REF(XB||X1,2)&&REF(EXIST(X1,2),1)&&REF(EXIST(XB,2),1);
DRAWTEXT(AA,L,'多'),VALIGN0,COLORRED;
DRAWTEXT(BB,H,'空'),COLORGREEN;
PLAYSOUND(AA,'A');
PLAYSOUND(BB,'B');