KDJ 指標的圖會如下:
至於程式的寫法…這邊分為 HTS 和 TS 兩種囉,因為 TS 內連 SMA 的函式都沒有…所以還必需自己新增一個 SMA 的函式。
以下是 TS 的程式碼:
先新增一個 SMA 的函式如下:
Input : Price(Numeric), Length(Numeric);
Variables : Summation(0), Counter(0);
If CurrentBar = 1 Then begin
Summation = 0;
For Counter = 0 To Length - 1 begin
Summation = Summation + Price[Counter];
End;
SMA = Summation / Length;
End
Else begin
Summation = Summation[1] - SMA[1] + Price;
SMA = Summation / Length;
End;
接著就是指標的程式:
Input: N(13), M1(7), M2(3);
Vars:KDJRSV(0), KDJK(0), KDJD(0), KDJJ(0);
If CurrentBar = 1 or (Highest(High, N) - Lowest(Low, N)) = 0 Then begin
KDJRSV = 0;
KDJK = 0;
KDJD = 0;
KDJJ = 0;
End
Else begin
KDJRSV = (Close - Lowest(Low, N)) / (Highest(High, N) - Lowest(Low, N)) * 100;
KDJK = SMA(KDJRSV, M1);
KDJD = SMA(KDJK, M2);
KDJJ = (3 * KDJK) - (2 * KDJD);
End;
Plot1(KDJK, "K", Red, 2);
Plot2(KDJD, "D", Green, 2);
Plot3(KDJJ, "J", Blue, 1);
另外…也給大家 HTS 版的囉…HTS 就不用自己新增函式了…直接新增指標就可以了:
Parameter: N(13), M1(7), M2(3)
Vars:KDJRSV(0), KDJK(0), KDJD(0), KDJJ(0)
If CurrentBar = 1 Then
KDJRSV = 0
KDJK = 0
KDJD = 0
KDJJ = 0
Else
KDJRSV = (Close - Lowest(Low, N)) / (Highest(High, N) - Lowest(Low, N)) * 100
KDJK = SMA(KDJRSV, M1)
KDJD = SMA(KDJK, M2)
KDJJ = (3 * KDJK) - (2 * KDJD)
End if
Draw1(KDJK, "K", Red, 2)
Draw2(KDJD, "D", Green, 2)
Draw3(KDJJ, "J", Blue, 1)
至於怎麼用這個指標…那就自己玩吧。
大大您好
回覆刪除謝謝您內容整理的如此詳細
讓剛要入門的我
少走一些寃枉路
回到正題
今天剛好要寫hts和ts的kd指標及訊號
發覺這一篇文章
hts的kdj指標有解決了
不過大大的公式好像有誤
j值應是
KDJJ = (3 * KDJd) - (2 * KDJk)
二個都寫反了是嗎?
另外ts定義sma函數,我在驗證時都過不了
大大驗證可過嗎
先謝謝大大
大大
回覆刪除我有在聚財網找到方法了
ts那一篇sma不用重建
sma即為AverageFC
kd那一篇則sam函數改為
AverageFC即可
謝謝大大
美美: J 值沒記錯的話應該是 3K - 2D 才對喔..
回覆刪除大大
回覆刪除我剛才又確認我的康和
跟手邊的書
是3D-2K啊
還是這二個值都有人用
不過沒關係
J值我沒在用
只是用這個值代入,圖就畫的和康和不同
謝謝大大
嗯..技術指標的東西應該有很多版本…所以還是以自己用習慣的東西用囉…
回覆刪除請問DK大大,
回覆刪除關於策略寫作的方法有沒有什麼書籍可介紹
小峰:似乎沒有。寫程式並不是很高的難度…多練習寫應該就會了。或是多看看我之前那一串教學吧。
回覆刪除請問DK大大,ts程式碼中N(13), M1(7), M2(3),N、M1的參數代表什麼意思呢?
回覆刪除我要設KDJ為5、3、3、,把13跟7改成5跟3,跑出來的數值跟XQ的差很多,
用MC內建的Stochastic Slow,跑出來的數值跟XQ的KD也差很多,
能請大大協助嗎?謝謝您