博易的这个指标如何改成金字塔的指标
A:=HHV(HIGH,15);
B:=LLV(LOW,15);
F:=HHV(HIGH,9);
F1:=HHV(HIGH,5);
D:=LLV(LOW,9);
D1:=LLV(LOW,5);
MA3:=MA(CLOSE,2);
MA5:=MA(CLOSE,4);
MA9:=MA(CLOSE,9);
MA20:=MA(CLOSE,18);
RED1:=CROSS(CLOSE,REF(A,1));
RED2:=CROSS(CLOSE,REF(F1,1)) AND {(MA3>MA5>MA20)}MA3>MA5 AND MA5>MA20;
RED3:=CROSS(CLOSE,REF(F,1));
GREEN1:=CROSS(REF(D,1),CLOSE);
GREEN2:=CROSS(REF(B,1),CLOSE);
GREEN3:=CROSS(REF(D1,1),CLOSE) AND {(MA3<MA5<MA20)}MA3<MA5 AND MA5<MA20;
FLAG:=IF(BARSTATUS=1,0,IF(RED1 OR RED2,1,IF(GREEN2 OR GREEN3,-1,IF(GREEN1 OR RED3,0,REF(FLAG,1)))));
STICKLINE(FLAG>0,HIGH,MAX(C,O),0,1),COLORRED;
STICKLINE(FLAG>0,LOW,MIN(C,O),0,1),COLORRED;
STICKLINE(FLAG>0,C,O,4,1),COLORRED;
STICKLINE(FLAG<0,HIGH,MAX(C,O),0,0),COLORGREEN;
STICKLINE(FLAG<0,LOW,MIN(C,O),0,0),COLORGREEN;
STICKLINE(FLAG<0,C,O,4,0),COLORGREEN;
STICKLINE(FLAG=0,HIGH,MAX(C,O),0,0),COLORYELLOW;
STICKLINE(FLAG=0,LOW,MIN(C,O),0,0),COLORYELLOW;
STICKLINE(FLAG=0,C,O,4,0),COLORYELLOW;
DRAWICON(RED1 OR RED2 OR RED3,LOW,4),VALIGN0;
DRAWICON(GREEN1 OR GREEN2 OR GREEN3,HIGH,5),VALIGN2;
难点在这句话上面FLAG:=IF(BARSTATUS=1,0,IF(RED1 OR RED2,1,IF(GREEN2 OR GREEN3,-1,IF(GREEN1 OR RED3,0,REF(FLAG,1)))));
请大侠和版主,试着改下
看过一个类似的帖子,不过好像改了并不成功。
http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=9628&replyID=43096&skin=1
runmode:0;
variable:flag=0;
A:=HHV(HIGH,15);
B:=LLV(LOW,15);
F:=HHV(HIGH,9);
F1:=HHV(HIGH,5);
D:=LLV(LOW,9);
D1:=LLV(LOW,5);
MA3:=MA(CLOSE,2);
MA5:=MA(CLOSE,4);
MA9:=MA(CLOSE,9);
MA20:=MA(CLOSE,18);
RED1:=CROSS(CLOSE,REF(A,1));
RED2:=CROSS(CLOSE,REF(F1,1)) AND {(MA3>MA5>MA20)}MA3>MA5 AND MA5>MA20;
RED3:=CROSS(CLOSE,REF(F,1));
GREEN1:=CROSS(REF(D,1),CLOSE);
GREEN2:=CROSS(REF(B,1),CLOSE);
GREEN3:=CROSS(REF(D1,1),CLOSE) AND {(MA3<MA5<MA20)}MA3<MA5 AND MA5<MA20;
if red1 or red2 then flag:=1;
if green2 or green3 then flag:=-1;
if green1 or red3 then flag:=0;
STICKLINE(FLAG>0,HIGH,MAX(C,O),0,1),COLORRED;
STICKLINE(FLAG>0,LOW,MIN(C,O),0,1),COLORRED;
STICKLINE(FLAG>0,C,O,4,1),COLORRED;
STICKLINE(FLAG<0,HIGH,MAX(C,O),0,0),COLORGREEN;
STICKLINE(FLAG<0,LOW,MIN(C,O),0,0),COLORGREEN;
STICKLINE(FLAG<0,C,O,4,0),COLORGREEN;
STICKLINE(FLAG=0,HIGH,MAX(C,O),0,0),COLORYELLOW;
STICKLINE(FLAG=0,LOW,MIN(C,O),0,0),COLORYELLOW;
STICKLINE(FLAG=0,C,O,4,0),COLORYELLOW;
if red1 or red2 then flag:=1;
if green2 or green3 then flag:=-1;
if green1 or red3 then flag:=0;
我改成
if red1 or red2 or red3 then flag:=1;
if green2 or green3 or green1 then flag:=-1;
整体红绿显示基本正常,但黄色部分,被红绿代替了。
呵呵,不好意思
换下顺序就可以了。
if green1 or red3 then flag:=0;
if green2 or green3 then flag:=-1;
if red1 or red2 then flag:=1;
关键是你要理解。