布林通道是由三條綫組成,在中間的通常爲 20 天平均綫,而在上下的兩條綫則分別爲信道頂和信道底,算法是首先計出過去 20 日收巿價的標準差,通常再乘2得出2倍標準差,通道頂爲 20 天平均綫加 2 倍標準差,通道底則爲 20 天平均綫減 2 倍標準差。
Parameter:布林中線長度(21),KD(8),倍幅(3),顯示偏移(12),布林(1),
中線(0),破空(1),加空(0),殺多(0),陰陽(0),突多(1),加多(0),嘎空(0),小數點(2)
Variables:天(0),羅(0),中(0),地(0),網(0),通道壓縮比(0),標準差(0),
破空進(0),破加空(0),破殺多(0),陰陽界(0),
突多進(0),突加多(0),突嘎空(0),壓縮比(0),三日轉折(0),未來日記(0),
str1("a"),str2("a"),str3("a"),str4("a"),str5("a"),str6("a"),
str7("a"),str8("a"),str9("a"),str10("a"),str11("a"),str12("a"),
短週期(0),中週期(0),長週期(0),今轉折(0),明轉折(0),
RB(0),RB1(0),RB2(0), TR(0),//三日紅黑
KD轉折1(0),KD轉折2(0),KD轉折3(0),KD轉折4(0),KD轉折5(0),KD轉折6(0),KD轉折7(0),
Array:換行[25]("|n")
中 =MAfc((O+H+L+C+C)/5,布林中線長度)//中
天 =中 +2*StdDev(Close,布林中線長度)//天
羅 =中 + StdDev(Close,布林中線長度)//羅
地 =中 - StdDev(Close,布林中線長度)//地
網 =中 -2*StdDev(Close,布林中線長度)//網
//移動威廉通道
Value1=HighestValue(High,kd*倍幅) //高檔線//3倍通道
Value2=LowestValue (Low ,kd*倍幅) //低檔線
//陰陽界=Value2+(Value1-Value2)*0.5 //陰陽
//移動威廉通道/KD箱
Value5=HighestValue(High,KD)
Value6=LowestValue (Low ,KD)
//移動威廉通道/KD箱之短線1/2*倍幅
Value7=HighestValue(High,KD*倍幅)
Value8=LowestValue (Low,KD*倍幅)
//KD
Value9=Fastk(High,Low,Close,KD)//RSV(KD)
Value10=ema(Value9,3) //K
Value12=SMA(Value10,3) //D
Value13=(Value10*3)-(Value12*2)//J值
Value14=Fastk(High,Low,Close,KD*倍幅)//倍幅KD箱RSV
Value15=ema(Value14,5) //K
Value16=SMA(Value15,5) //D
Value17=(Value15*3)-(Value16*2)//J值
Value18=RSI(c,KD)
短週期=RSI(c,2)
Value20=Fastk(High,Low,Close,KD*倍幅/3)//RSV短線變化
中週期=MAfc(c,9)
長週期=MAfc(c,21)
通道壓縮比=(天-網)/中*100
//今轉折
今轉折=(C[1]*2-C[4]+C[3])/2
//9日振幅風險
今轉折=(HighestValue(High,9)-LowestValue(Low,9))
//明轉折
明轉折=(C*2-C[3]+C[2])/2
三日轉折=C[3]*2-C[3*2]
//三日紅黑值指標..3日紅黑值由負轉正,動能超越。
//判斷近三日收紅或收黑
/*
IF C > O THEN
RB = C-L ELSE
RB = C-H
END IF
IF C[1] > O[1] THEN
RB1 = C[1]-L[1] ELSE
RB1 = C[1]-H[1]
END IF
IF C[2] > O[2] THEN
RB2 = C[2]-L[2] ELSE
RB2 = C[2]-H[2]
END IF
//計算三日紅黑值
TR = RB + RB1 + RB2
*/
//****************************
KD轉折1= KD轉折1[1] + (1/3 * (FastK(High, Low, Close,9) - KD轉折1[1]))
KD轉折2 = 2/3*KD轉折2[1]+KD轉折1*1/3
KD轉折3= Round(KD轉折1,2)
KD轉折4= Round(KD轉折2,2)
KD轉折5= (KD轉折4*3)-(KD轉折3*2)
KD轉折6=(HighestValue(H,8)-LowestValue(L,8))/100
KD轉折7=LowestValue(L,8)+(KD轉折3*KD轉折6)
//破空進==3倍kd箱J值
If Value17 CROSS UNDER 88 then
破空進=Value7
End if
//破空進箱頂降下=J值殺多破底+或者+RSI殺多
If Value13 CROSS UNDER 2 OR RSI(L,KD) CROSS UNDER 20 then
破空進=Value7
突嘎空=HighestValue(High,kd*倍幅*0.5)
End if
//破空進箱頂降下=大小箱頂共振+短RSV殺多
If Value5=Value7 AND Value20 CROSS UNDER 20 then
破空進=Value7
End if
//測試MACD死叉廂頂-破空進
If MACD(C, 8, 21) CROSS UNDER EMA(MACD(C,8,21),8)then
破空進=HighestValue(High,30)
End if
//============================
//突多進=3倍kd箱
If Value17 cross over 8 then
突多進=Value8
End if
//嘎空-突破=箱底墊高
If Value13 cross over 98 OR RSI(H,KD) CROSS OVER 80 then
突多進=Value8
破殺多=LowestValue (Low,kd*倍幅*0.5)
End if
//突多進=大小箱底共振+小箱RSV嘎空
If Value6=Value8 AND Value20 CROSS OVER 80 then
突多進=Value8
End if
//測試MACD箱底-突多進
If MACD(C, 8, 21) CROSS OVER EMA(MACD(C,8,21),8)then
突多進=LowestValue (Low,30)
End if
//=================================
//破加空*kd死叉*
If Value10 CROSS UNDER Value12 then
破加空=HIGH
End if
//================================
//突加多****kd金叉
If Value10 cross over Value12 then
突加多=Low
End if
//*******測試K棒低點觸發**************
Value10=ema(Fastk(High,Low,Low,KD),3) //K
Value12=SMA(Value10,3) //D
Value13=(Value10*3)-(Value12*2)//J值
//破殺多**KDJ之J值殺*OR*K值20以下殺多鈍化
If Value13 CROSS UNDER 0 then
破殺多=LOW
未來日記=ma(c,kD)-(Value5-Value6)//均線-震幅
End if
/*
//*******測試K棒低點觸發X2**
Value10=ema(Fastk(High,Low,Low,KD*2),3) //K
Value12=SMA(Value10,3) //D
Value13=(Value10*3)-(Value12*2)//J值
//破殺多**KDJ之J值殺*OR*K值20以下殺多鈍化
If Value13 CROSS UNDER 0 then
破殺多=LOW
End if
*/
//破殺多**RSI殺多鈍化=Value18=RSI(c,KD)
If Value18 CROSS UNDER 20 AND 短週期 CROSS UNDER 50 then
破殺多=LOW
End if
//*************測試***********************
Value10=ema(Fastk(High,Low,High,KD),3) //K
Value12=SMA(Value10,3) //D
Value13=(Value10*3)-(Value12*2)//J值
//突嘎空****KDJ J值過百***
If Value13 cross over 100 then
突嘎空=HIGH
未來日記=ma(c,kD)+(Value5-Value6)
//均線+KD震幅-
//第一波算出N字目標=整理平台頸線大約對齊嘎殺線
//嘎殺反向時+目標價取消+多空換邊
End if
//突嘎空9日RSI>80**Value18=RSI(c,9)***
If Value18 cross over 80 AND 短週期 cross over 50 then
突嘎空=HIGH
End if
陰陽界=(破空進+破加空+破殺多+突多進+突加多+突嘎空)/6
陰陽界=(陰陽界+MA(C,30))/2
陰陽界=Ema(陰陽界,3)
//30根箱型籌碼均值
//Draw999 (陰陽界-(2*StdDev(陰陽界,30)),"陰",GREEN)
//**天網變粗提示嘎殺*中變色提示方向*******
Draw1 (天,"天",RED ,1,iff(ema(c,布林中線長度/4)>羅,3,1))
Draw2 (羅,"羅",GREEN)
Draw3 (中,"中",iff(中>中[1],Magenta,darkblue ),1,iff(RSI(c,60)>50,3,2))
Draw4 (地,"地",RED)
Draw5 (網,"網",green ,1,iff(ema(c,布林中線長度/4)<地,3,1))
Draw6 (破空進,"破空進",black ,1,iff(RSI(c,30)<50,4,2))
Draw7 (破加空,"破加空",green ,1,iff(RSI(c,20)<50,4,2))
Draw8 (破殺多,"破殺多",MAGENTA,1,iff(RSI(L,15)<33,4,2))
Draw9 (陰陽界,"陰陽界",blue ,1,1)
Draw10(突嘎空,"突嘎空",CYAN ,1,iff(RSI(H,15)>66,4,2))
Draw11(突加多,"突加多",Red ,1,iff(RSI(c,20)>50,4,2))//最後顯示粗細
Draw12(突多進,"突多進",DARKMAGENTA,1,iff(RSI(c,30)>50,4,2))
//是否顯示交易決策
if 布林=0 Then
NoDraw(1)
NoDraw(2)
NoDraw(4)
NoDraw(5)
end if
if 中線=0 Then
NoDraw(3)
end if
if 破空=0 Then
NoDraw(6)
end if
if 加空=0 Then
NoDraw(7)
end if
if 殺多=0 Then
NoDraw(8)
end if
if 陰陽=0 Then
NoDraw(9)
end if
if 嘎空=0 Then
NoDraw(10)
end if
if 加多=0 Then
NoDraw(11)
end if
if 突多=0 Then
NoDraw(12)
end if
TR=MF(60)//主力多空企圖-MFI指標-15資金流量
//******顯示箭頭方向和數值************
str1=iff(天>天[1], "▲天"+NumToStr(天,小數點) , "▼天"+NumToStr(天,小數點))
str2=iff(羅>羅[1], "▲羅"+NumToStr(羅,小數點) , "▼羅"+NumToStr(羅,小數點))
str3=iff(中>中[1], "▲中"+NumToStr(中,小數點) , "▼中"+NumToStr(中,小數點))
str4=iff(地>地[1], "▲地"+NumToStr(地,小數點) , "▼地"+NumToStr(地,小數點))
str5=iff(網>網[1], "▲網"+NumToStr(網,小數點) , "▼網"+NumToStr(網,小數點))
str6=iff(TR>50 ,"▲60資金流="+NumToStr(TR,小數點),"▼60資金流="+NumToStr(TR,小數點))
//***六條交易指令******
str7=iff(C>破空進, "▲破空進"+NumToStr(破空進,小數點) , "▼破空進"+NumToStr(破空進,小數點))
str8=iff(C>破加空, "▲破加空"+NumToStr(破加空,小數點) , "▼破加空"+NumToStr(破加空,小數點))
str9=iff(C>破殺多, "▲破殺多"+NumToStr(破殺多,小數點) , "▼破殺多"+NumToStr(破殺多,小數點))
str10=iff(C>突嘎空, "▲突嘎空"+NumToStr(突嘎空,小數點) , "▼突嘎空"+NumToStr(突嘎空,小數點))
str11=iff(C>突加多, "▲突加多"+NumToStr(突加多,小數點) , "▼突加多"+NumToStr(突加多,小數點))
str12=iff(C>突多進, "▲突多進"+NumToStr(突多進,小數點) , "▼突多進"+NumToStr(突多進,小數點))
for value998 = 2 to 24
換行[value998] = 換行[value998-1] + "|n"
end for
value999=HighestValue(High,99)
//在最後一行顯示解盤文字
IF LastBarOnChart THEN
TXT_SetColor(TXT_New(Date,Time,value999, space(顯示偏移)+str1),RED) //天
TXT_SetColor(TXT_New(Date,Time,value999,換行[1]+space(顯示偏移)+str2),GREEN) //羅
TXT_SetColor(TXT_New(Date,Time,value999,換行[2]+space(顯示偏移)+str3),iff(中>中[1],MAGENTA,black))//中
TXT_SetColor(TXT_New(Date,Time,value999,換行[3]+space(顯示偏移)+str4),RED) //地
TXT_SetColor(TXT_New(Date,Time,value999,換行[4]+space(顯示偏移)+str5),GREEN) //網
//RSI顯示顏色50
TXT_SetColor(TXT_New(Date,Time,value999,換行[5]+space(顯示偏移)+str6),iff(TR>50,red,GREEN))
//收盤價以KD轉折變色
TXT_SetColor(TXT_New(Date,Time,value999,換行[6]+space(顯示偏移)+NumToStr(c,小數點)+"收盤kd"),iff(C>KD轉折7,red,GREEN))
//收盤大於陰陽界變紅
TXT_SetColor(TXT_New(Date,Time,value999,換行[7]+space(顯示偏移)+"陰陽界"+NumToStr(陰陽界,小數點)),iff(C>陰陽界,red,GREEN))
//破空進
TXT_SetColor(TXT_New(Date,Time,value999,換行[8]+space(顯示偏移)+str7),black)
//破加空
TXT_SetColor(TXT_New(Date,Time,value999,換行[9]+space(顯示偏移)+str8),green)
//破殺多
TXT_SetColor(TXT_New(Date,Time,value999,換行[10]+space(顯示偏移)+str9),MAGENTA)
//突嘎空
TXT_SetColor(TXT_New(Date,Time,value999,換行[11]+space(顯示偏移)+str10),CYAN)
//突加多
TXT_SetColor(TXT_New(Date,Time,value999,換行[12]+space(顯示偏移)+str11),RED)
//突多進
TXT_SetColor(TXT_New(Date,Time,value999,換行[13]+space(顯示偏移)+str12),DARKMAGENTA)
//設定文字的垂直位置******
VALUE21=TXT_New(Date,Time,value999,"")
//設定文字的水平位置
TXT_SetString(Value21,換行[14]
+space(顯示偏移)+NumToStr(KD轉折7,小數點)+"KD轉折"+"|r|n"
+space(顯示偏移)+"$未來日記"+NumToStr(未來日記,小數點)+"|r|n"
+space(顯示偏移)+"9日震幅風險"+NumToStr(今轉折,小數點)+"|r|n"
+space(顯示偏移)+"天網震幅/3="+NumToStr((天-網)/3,小數點))
//設定顏色RSI
If Value18>50 Then
TXT_SetColor(Value21,Red)
ElseIf Value18>66 Then
TXT_SetColor(Value21,CYAN )
End If
If Value18<33 Then
TXT_SetColor(Value21,MAGENTA)
ElseIf Value18 <50 Then
TXT_SetColor(Value21,green)
End If
//
VALUE21=TXT_New(Date,Time,Value2, space(顯示偏移-2)+"*")
END IF
Draw13(未來日記,"未來日記",DarkGray,1,1)