请老师帮忙把MACD指标改成通达信可以使用的
[其 他] 4799
IF (var1 = 1) THEN BEGIN DIFF : ((EMA(CLOSE,12) - EMA(CLOSE,26)) * var1); DEA : (EMA(DIFF,9) * var1); MACD : ((2 * (DIFF - DEA)) * var1),COLORSTICK; SC := CROSS(DEA,DIFF),LINETHICK0; JC := CROSS(DIFF,DEA),LINETHICK0; SC0 := ((COUNT((MACD <> 0),BARSCOUNT(CLOSE)) = 1) AND (MACD < 0)); 小周期 := IF((COUNT(SC,BARSCOUNT(CLOSE)) = 0),BARSLAST(SC0,1),BARSLAST(SC,1)); DIFFDD := VALUEWHEN(JC,LLV(DIFF,小周期)),LINETHICK0; JGDD := VALUEWHEN(JC,LLV(CLOSE,小周期)),LINETHICK0; DIFFQD := VALUEWHEN(REF(JC,1),DIFFDD),LINETHICK0; JGQD := VALUEWHEN(REF(JC,1),JGDD),LINETHICK0; DIFFGFQD := VALUEWHEN(JC,DIFFQD),LINETHICK0; JGGFQD := VALUEWHEN(JC,JGQD),LINETHICK0; BDIFF := ABS(DIFF); 两位有效数字 := INTPART((BDIFF * POW(10,(6 - INTPART(LOG((BDIFF * 100000))))))); DIF波动 := ((ABS((DIFF - REF(DIFF,1))) / ABS(REF(DIFF,1))) >= 0.01); 两根绿角线 := ((MACD < 0) AND (REF(MACD,1) < 0)); 价底背离 := (CLOSE < JGQD); D底背离 := (DIFF > DIFFQD); 底钝 := (价底背离 AND (D底背离 AND (两根绿角线 AND ((DIFF < 0) AND (LLV(DIFF,小周期) > DIFFQD))))); 底钝化 := (底钝 AND (COUNT(REF(底钝,1),小周期) = 0)); D新低 := (NOT(D底背离) AND ((COUNT(底钝化,小周期) > 0) AND (COUNT(JC,小周期) = 0))); D新低出 := (D新低 AND (COUNT(REF(D新低,1),小周期) = 0)); 底转 := ((DIFF > REF(DIFF,1)) AND ((COUNT(D新低,小周期) = 0) AND ((COUNT(底钝化,小周期) = 1) AND ((MACD < 0) AND ((DIFF > REF(DIFF,1)) AND DIF波动))))); 底部拐头 := (底转 AND (COUNT(REF(底转,1),小周期) = 0)); 底背 := (JC AND ((COUNT(D新低,小周期) = 0) AND (COUNT(底钝化,小周期) = 1))); 底背离 := (底背 AND (COUNT(REF(底背,1),小周期) = 0)); 高度 := DIFF; STICKLINE(底钝化,0,(-高度 / 3),5,0),COLORMAGENTA; DRAWTEXT(底钝化,((-高度 * 2) / 3),'底钝'),COLORMAGENTA; STICKLINE(D新低出,0,(高度 / 3),5,0),COLOR80FF80; DRAWTEXT(D新低出,(高度 / 2),'失效'),COLOR80FF80; DRAWICON(底部拐头,DIFF,4); DRAWTEXT(底部拐头,((DIFF * 3) / 2),'底拐'),COLOR7B2BD5; DRAWTEXT(底背离,((高度 * 3) / 2),'↖底背离'),COLORRED; 隔山价底背离 := ((CLOSE < JGGFQD) AND (CLOSE < JGQD)); 隔山D底背离 := (DIFF > DIFFGFQD); 隔山低钝 := (隔山价底背离 AND (隔山D底背离 AND (两根绿角线 AND ((DIFF < 0) AND ((LLV(DIFF,小周期) > DIFFGFQD) AND NOT(底钝)))))); 隔山底钝化 := (隔山低钝 AND (COUNT(REF(隔山低钝,1),小周期) = 0)); 隔山D新低 := (NOT(隔山D底背离) AND ((COUNT(隔山底钝化,小周期) > 0) AND 两根绿角线)); 隔山D新低出 := (隔山D新低 AND (COUNT(REF(隔山D新低,1),小周期) = 0)); 隔山底转 := ((DIFF > REF(DIFF,1)) AND ((COUNT(隔山D新低,小周期) = 0) AND ((COUNT(隔山底钝化,小周期) = 1) AND ((MACD < 0) AND ((DIFF > REF(DIFF,1)) AND DIF波动))))); 隔山底部拐头 := (NOT(底部拐头) AND (隔山底转 AND (COUNT(REF(隔山底转,1),小周期) = 0))); 隔山底背 := (JC AND ((COUNT(隔山D新低,小周期) = 0) AND (COUNT(隔山底钝化,小周期) = 1))); 隔山底背离 := (NOT(底背离) AND (隔山底背 AND (COUNT(REF(隔山底背,1),小周期) = 0))); STICKLINE(隔山底钝化,0,(-高度 / 3),5,0),COLORMAGENTA; DRAWTEXT(隔山底钝化,((-高度 * 2) / 3),'隔底钝'),COLORMAGENTA; STICKLINE(隔山D新低出,0,(高度 / 3),5,0),COLOR80FF80; DRAWTEXT(隔山D新低出,(高度 / 2),'失效'),COLOR80FF80; DRAWICON(隔山底部拐头,DIFF,4); DRAWTEXT(隔山底部拐头,((DIFF * 3) / 2),'隔底拐'),COLOR7B2BD5; DRAWTEXT(隔山底背离,((高度 * 3) / 2),'↖隔底背'),COLORRED; 底部背离 := (底背离 OR 隔山底背离); 价新低 := ((CLOSE < JGDD) AND (BARSLAST(底部背离,1) <= BARSLAST(JC,1))); 价新低出 := (价新低 AND (COUNT(价新低,BARSLAST(底部背离,1)) = 1)); STICKLINE(价新低出,0,(DIFF / 3),5,0),COLOR80FF80; DRAWTEXT(价新低出,((DIFF * 2) / 3),'新低'),COLOR80FF80; DRAWTEXTEX(1,1,10,10,'制作'),COLORYELLOW; JC0 := ((COUNT((MACD <> 0),BARSCOUNT(CLOSE)) = 1) AND (MACD > 0)); D小周期 := IF((COUNT(JC,BARSCOUNT(CLOSE)) = 0),BARSLAST(JC0,1),BARSLAST(JC,1)); 两根红角线 := ((MACD > 0) AND (REF(MACD,1) > 0)); DIFFGD := VALUEWHEN(SC,HHV(DIFF,D小周期)),LINETHICK0; JGGD := VALUEWHEN(SC,HHV(CLOSE,D小周期)),LINETHICK0; DIFFQG := VALUEWHEN(REF(SC,1),DIFFGD),LINETHICK0; JGQG := VALUEWHEN(REF(SC,1),JGGD),LINETHICK0; DIFFGFQG := VALUEWHEN(SC,DIFFQG),LINETHICK0; JGGFQG := VALUEWHEN(SC,JGQG),LINETHICK0,LINETHICK0; 价顶背离 := (CLOSE > JGQG); D顶背离 := (DIFF < DIFFQG); 顶钝 := (价顶背离 AND (D顶背离 AND (两根红角线 AND ((HHV(DIFF,D小周期) < DIFFQG) AND (DIFF > 0))))); 顶钝化 := (顶钝 AND (COUNT(REF(顶钝,1),D小周期) = 0)); D新高 := (NOT(D顶背离) AND ((COUNT(顶钝化,D小周期) > 0) AND 两根红角线)); D新高进 := (D新高 AND (COUNT(REF(D新高,1),D小周期) = 0)); 顶转 := ((DIFF < REF(DIFF,1)) AND ((COUNT(D新高,D小周期) = 0) AND ((COUNT(顶钝化,D小周期) = 1) AND ((MACD > 0) AND ((DIFF < REF(DIFF,1)) AND DIF波动))))); 顶部拐头 := (顶转 AND (COUNT(REF(顶转,1),D小周期) = 0)); 顶背 := (SC AND ((COUNT(D新高,D小周期) = 0) AND (COUNT(顶钝化,D小周期) = 1))); 顶背离 := (顶背 AND (COUNT(REF(顶背,1),D小周期) = 0)); STICKLINE(顶钝化,0,(-高度 / 3),5,0),COLORE8FE7C; DRAWTEXT(顶钝化,((-高度 * 2) / 3),'顶钝'),COLORE8FE7C; STICKLINE(D新高进,0,(高度 / 3),5,0),COLORRED; DRAWTEXT(D新高进,(高度 / 2),'失效'),COLORRED; DRAWICON(顶部拐头,DIFF,5); DRAWTEXT(顶部拐头,((DIFF * 3) / 2),'顶拐'),COLOR80FF80; DRAWTEXT(顶背离,((高度 * 3) / 2),'↙顶背离'),COLORGREEN; 隔山价顶背离 := ((CLOSE > JGGFQG) AND (CLOSE > JGQG)); 隔山D顶背离 := (DIFF < DIFFGFQG); 隔山顶钝 := (隔山价顶背离 AND (隔山D顶背离 AND (两根红角线 AND ((HHV(DIFF,D小周期) < DIFFGFQG) AND ((DIFF > 0) AND NOT(顶钝)))))); 隔山顶钝化 := (隔山顶钝 AND (COUNT(REF(隔山顶钝,1),D小周期) = 0)); TESTZQ : D小周期,LINETHICK0; TEST : (COUNT(隔山顶钝化,D小周期) > 0),LINETHICK0; 隔山D新高 := (NOT(隔山D顶背离) AND (COUNT(隔山顶钝化,D小周期) > 0)); 隔山D新高进 := (隔山D新高 AND (COUNT(REF(隔山D新高,1),D小周期) = 0)); 隔山顶转 := ((DIFF < REF(DIFF,1)) AND ((COUNT(隔山D新高,D小周期) = 0) AND ((COUNT(隔山顶钝化,D小周期) = 1) AND (NOT(隔山顶钝化) AND ((MACD > 0) AND DIF波动))))); 隔山顶部拐头 := (隔山顶转 AND (COUNT(REF(隔山顶转,1),D小周期) = 0)); 隔山顶背 := (SC AND ((COUNT(隔山D新高,D小周期) = 0) AND (COUNT(隔山顶钝化,D小周期) = 1))); 隔山顶背离 := (NOT(顶背离) AND (隔山顶背 AND (COUNT(REF(隔山顶背,1),D小周期) = 0))); STICKLINE(隔山顶钝化,0,(-高度 / 3),5,0),COLORE8FE7C; DRAWTEXT(隔山顶钝化,((-高度 * 2) / 3),'隔顶钝'),COLORE8FE7C; STICKLINE(隔山D新高进,0,(高度 / 3),5,0),COLORRED; DRAWTEXT(隔山D新高进,(高度 / 2),'失效'),COLORRED; DRAWICON(隔山顶部拐头,DIFF,5); DRAWTEXT(隔山顶部拐头,((DIFF * 3) / 2),'隔顶拐'),COLOR80FF80; DRAWTEXT(隔山顶背离,((高度 * 3) / 2),'↙隔顶背'),COLORGREEN; 顶部背离 := (顶背离 OR 隔山顶背离); 价新高 := ((CLOSE > JGGD) AND (BARSLAST(顶部背离,1) <= BARSLAST(SC,1))); 价新高出 := (价新高 AND (COUNT(价新高,BARSLAST(顶部背离,1)) = 1)); STICKLINE(价新高出,0,(DIFF / 3),5,0),COLORRED; DRAWTEXT(价新高出,((DIFF * 2) / 3),'新高'),COLORRED; END ELSE DRAWTEXT((refx((var1 = 0),100) AND refx((var1 = 1),99)),100000,'指标,'),COLORGREEN,COLOR; |
楼主 |
2楼 |
3楼 |
4楼 |