close
KD指標,是美國George C. Lane在197年原創,全名是Stochastic Line(隨機指標)
•主要假設:
當股票位於上漲波段時,收盤價會往當日價格波動的最高價接近。
當股價位於下跌段時,收盤價則會收在當日波動的最低價附近。
 
在算KD值之前,需先計算RSV(Row Stochastic Value,未成熟隨機值)
•RSV意義
將9根內的股價高低點當作分母,
當根的收盤價跟9根內最低點的差作分子
衡量當根收盤價在這九根內的相對位置為強勢或弱勢。

•RSV=(當根收盤價-最近9根的最低價)/(最近9根最高價-最近9根最低價)*100

•當日K值=前日K值*(2/3)+當日RSV*(1/3)
•當日D值=前日D值*(2/3)+當日K*(1/3)

 

KD指標的特性

•能靈敏地反映價格變化
•它涵蓋了一定時間內最高價與最低價的概念,因此可以很靈敏地反映出價格的變化
•也因為參數小反映過於靈敏,所以短線上容易產生許多雜訊,這也是被許多人使用KD指標詬病的地方
•在使用上要先了解公式的來龍去脈,才比較能知道它的問題在哪裡,在交易實務面上也比較不會受重傷。

以下使用VB.NET來演譯該指標,並且設定提示訊息

KD.png

KD01.png

 

 

Imports NDde
Imports NDde.Client
Imports System.Text
Public Class Form1
    Dim HiPrice, LoPrice, Rsv01, Rsv02, Rsv, TK, TK01, YK, YD, TD, TD01, i As Double
    Private WithEvents dde As DdeClient
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        HiPrice = TextBox1.Text
        LoPrice = TextBox2.Text
        YK = TextBox3.Text
        YD = TextBox4.Text
        dde = New DdeClient("Excel.exe", "DDE.xlsx", Me) '串接dde
        dde.Connect()
        Dim temp1 As Byte()
        Try
            temp1 = dde.Request("R1C1", 1, 60000)
        Catch ex As Exception
        End Try
        Try
            dde.StartAdvise("R1C1", 1, True, 60000)
        Catch ex As Exception
        End Try
        TK01 = (YK * 2) / 3
        TD01 = (YD * 2) / 3
    End Sub
    Public Sub DDE_Advise(ByVal sender As Object, ByVal e As NDde.Client.DdeAdviseEventArgs) Handles dde.Advise
        If e.Item.ToString = "R1C1" Then
            i = e.Text
            Rsv01 = i - LoPrice
            Rsv02 = HiPrice - LoPrice
            Rsv = (Rsv01 / Rsv02) * 100
            ListBox1.Items.Add(Rsv)
            'RSV=(當根收盤價-最近9根的最低價)/(最近9根最高價-最近9根最低價)*100
            TK = TK01 + Rsv / 3
            ListBox2.Items.Add(TK)
            '當日K值=前日K值*(2/3)+當日RSV*(1/3)
            TD = TD01 + (TK * 1 / 3)
            ListBox3.Items.Add(TD)
            '當日D值=前日D值*(2/3)+當日K*(1/3)
            If TK > 70 Then
                MsgBox("K值目前大於70")
            End If
            If TK < 20 Then
                MsgBox("D值目前小於20")
            End If
        End If
    End Sub
End Class

以上純屬個人興趣研究

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 興小弟讀書筆記 的頭像
    興小弟讀書筆記

    興小弟讀書筆記

    興小弟讀書筆記 發表在 痞客邦 留言(1) 人氣()