指標公式使用說明及參考:
?指標創建思路
?
該代碼實現了一個變種的KDJ指標,目的是在周線級別進行計算和標識,以便更好地觀察市場趨勢。以下是具體的構建步驟和思路:
?
1. 周末標記:
? ? - 通過判斷`date`與前一天的`date`之差是否等于當前日期的`weekday`與前一天的`weekday`之差,并結合`barpos`(K線圖中的位置)來標記周末。
? ? - `wtj1`用于標記每個交易日是否為周末,并通過`refx`函數將其結果延后一天,得到`wtj`。
?
2. 計算周線的周期長度:
? ? - 利用`sumbars`函數計算包含n+1根K線的周期數,確定需要處理的數據范圍。
?
3. 初始化與邊界處理:
? ? - 初始化并設置邊界,確保在邊界條件下的計算有效。
?
4. RSV值計算:
? ? - 根據指定的周期`nn`計算RSV值,用于后續K、D、J值的計算。
?
5. 初始化K和D值:
? ? - 在一周的起始點初始化K和D值,避免在后續計算中出現錯誤。
?
6. K、D值迭代計算:
? ? - 對每個交易日,根據是否為周末來分別計算K和D值。
? ? - 周末時,使用周末的計算公式;非周末時,使用平常的計算公式。
?
7. J值計算:
? ? - 最終通過K和D值計算出J值。
?
8. 驗證代碼:
? ? - 使用繪圖函數和計數函數對計算結果進行驗證,確保指標計算正確。
?
?具體指標使用參考說明
?
1. 加載指標:
? ?將上述代碼復制到股票軟件的自定義指標編輯器中,然后保存并應用到所選的股票或其他交易品種的K線圖上。
?
2. 觀察K、D、J線:
? ?- K線、D線和J線分別代表不同的市場動能,可以通過顏色區分,通常K線為藍色,D線為黃色,J線為紅色。
? ?- 當K線向上穿過D線時,表示買入信號;當K線向下穿過D線時,表示賣出信號。
?
3. 周末標記:
? ?- 代碼中的`drawicon(wtj,0,10)`會在每個周末標記一個圖標,幫助用戶快速識別每周的起始點和結束點。
?
4. 周期調整:
? ?- 用戶可以根據自身需求調整`n`、`m1`和`m2`的取值,來適應不同的市場周期和交易風格。
?
5. 驗證和調試:
? ?- 代碼末尾的驗證部分會繪制KDJ指標的周線K值,并計算特定條件下的計數結果,幫助用戶確認指標計算的精確性。
?
源碼:
input:n(9,1,100),m1(3,2,40),m2(3,2,40);
wtj1:=datediff(ref(date,1),date)<>weekday-ref(weekday,1) or barpos=1;
wtj:=refx(wtj1,1);//周末標記
hn:=sumbars(wtj,n+1);
n0:=lbound(hn);
a:=setlbound(hn,1);
nn:=if(barpos<n0,barpos,hn-1);
RSV:=(CLOSE-LLV(LOW,nN))/(HHV(HIGH,nN)-LLV(LOW,nN))*100;
start:=barpos-barssince(wtj);
wk:=rsv[start[datacount]];
k[start[datacount]]:wk;
wd:=k[start[datacount]];
d[start[datacount]]:wd;
for i=start[datacount]+1 to datacount do begin
if wtj then begin
wk:=(rsv+(m1-1)*wk)/m1;
wd:=(wk+(m2-1)*wd)/m2;
k:=wk;
d:=wd;
end else begin
k:=(rsv+(m1-1)*wk)/m1;
d:=(k+(m2-1)*wd)/m2;
end;
end;
j:3*k-2*d;
{//驗證代碼:
drawicon(wtj,0,10);
zk:"kdj.k#week";
tt:count((round(zk*1000)-round(k*1000))*wtj,0);}本文僅僅提供源碼,并無指標下載
?
公式導入教程: 【通達信公式源碼導入方法教程】 【同花順公式源碼導入方法教程】 【大智慧新一代公式源碼導入方法教程】
?