通達信一根均線變色主圖指標公式,實現(xiàn)均線向上向下變色
一、通達信指標公式執(zhí)行邏輯
在介紹通達信一根均線變色主圖指標公式之前,有必要先了解通達信指標公式的執(zhí)行邏輯。
MA1:MA(C,20),COLORWHITE;{白色均線}
MA2:MA(C,20),COLORGREEN;{綠色均線}
MA3:MA(C,20),COLORRED;{紅色均線};
這三根均線都是20日均線,顏色分別是白色、綠色、紅色,你們覺得最后20日均線顯示什么顏色呢?把上面的指標公式源碼保存為“主圖疊加”指標公式,加載到主圖,可以發(fā)現(xiàn)均線的顏色是紅色(如下圖)。

通達信的指標公式代碼從上往下執(zhí)行(如下圖),先畫白色,再畫綠色,最后畫紅色,就像畫畫一樣,后面涂的顏色把之前的顏色覆蓋了,最后均線顏色就顯示紅色。

二、指標公式編寫
一根均線變色,就以均線向上向下變色公式為例,可以把均線分成向上、走平、向下三部分,為了方便,先不考慮走平。用IF函數(shù)來判斷向上向下,向上部分畫紅色,向下部分畫綠色。
MA20:=MA(C,20);{20日均線,不在圖上顯示20日均線}
IF(MA20>REF(MA20,1),MA20,DRAWNULL),COLORRED;{如果20日均線的值大于前一日20日均線的值,就畫出20日均線,否則不畫,畫出的均線顏色為紅色}
IF(MA20

把指標加載到主圖,發(fā)現(xiàn)均線斷斷續(xù)續(xù),即使把走平(即MA20=REF(MA20,1))這個條件加入公式,也不能解決問題,紅綠銜接處始終存在缺口。我覺得可能是通達信的一個BUG,畫線銜接沒處理好。解決不了軟件的BUG,只能在公式編寫時曲線解決這個問題。

在本文開頭,介紹了通達信指標公式代碼的執(zhí)行邏輯,三根均線語句依次執(zhí)行,最后紅色覆蓋了之前的顏色。在上面的公式中,MA20:=MA(C,20);用的:=,在圖上不會顯示,改成MA20:MA(C,20);,就可以先畫一根白色均線(通達信第一個輸出默認是白色),然后再對向上部分畫紅色,向下部分畫綠色,覆蓋原來的白線,沒有被紅綠色覆蓋的部分(缺口),還是顯示最初的白色,這樣就不會出現(xiàn)斷斷續(xù)續(xù)的情況。
MA20:MA(C,20);
IF(MA20>REF(MA20,1),MA20,DRAWNULL),COLORRED;
IF(MA20

如果覺得三種顏色比較別扭,可以MA20設(shè)置為紅色,即MA20:MA(C,20),COLORRED;,這樣圖上均線只會出現(xiàn)紅色、綠色兩種顏色。
MA20:MA(C,20),COLORRED;{20日均線,均線顏色為紅色}
IF(MA20>REF(MA20,1),MA20,DRAWNULL),COLORRED;{如果20日均線的值大于前一日20日均線的值,就畫出20日均線,否則不畫,畫出的均線顏色為紅色}
IF(MA20

三、兩根均線變色
有的人可能表示,一根均線變色主圖指標公式我會了,但是兩根均線變色怎么寫呢?依葫蘆畫瓢,再加一根均線唄。(為了方便觀察,對第二根均線進行了加粗)
MA20:MA(C,20),COLORRED;
IF(MA20>REF(MA20,1),MA20,DRAWNULL),COLORRED;
IF(MA20
MA60:MA(C,60),COLORMAGENTA,LINETHICK2;
IF(MA60>REF(MA60,1),MA60,DRAWNULL),COLORMAGENTA,LINETHICK2;
IF(MA60


關(guān)注技術(shù)Pie,學(xué)習(xí)更多通達信指標公式編寫知識。

