請教小幫手 :
我是XQ會員, 想在30分K 月線和季線黃金交叉之後出現的第一次KD黃金交叉時買進, 請教策略雷達腳本要如何寫?
因為是新手關係, 請協助幫忙,大大感謝.
請教小幫手 :
我是XQ會員, 想在30分K 月線和季線黃金交叉之後出現的第一次KD黃金交叉時買進, 請教策略雷達腳本要如何寫?
因為是新手關係, 請協助幫忙,大大感謝.
Hello 小梯子,
網站上有教學區,裡面有XS語法的基礎和應用可以閱覽。
https://www.xq.com.tw/learn
您可以使用 average 來計算20日/60日的均線,並搭配 Stochastic 函數計算KD。
在月線季線黃金交叉時可以使用變數紀錄,再和KD做比較。
舉例來說:
input: Length(9), RSVt(3), Kt(3);
variable: rsv(0), k(0), _d(0), _cond(False);
setbackbar(60, "D");
SetTotalBar(maxlist(Length,6) * 3);
value1 = average(getfield("Close", "D"), 20);
value2 = average(getfield("Close", "D"), 60);
Stochastic(Length, RSVt, Kt, rsv, k, _d);
if value1 cross over value2 then _cond = True; //20日均線向上突破60日均線的話 _cond 就為True
if _cond and k cross over _d then begin //_cond為True 且 KD黃金交叉的話警示,並將 _cond改回 False
ret = 1;
_cond = False;
end;
謝謝小幫手的詳細回覆, 以下仍有一些地方想請教小幫手 :
網站上有教學區,裡面有XS語法的基礎和應用可以閱覽。
https://www.xq.com.tw/learn
您可以使用 average 來計算20日/60日的均線,並搭配 Stochastic 函數計算KD。
在月線季線黃金交叉時可以使用變數紀錄,再和KD做比較。
舉例來說:
input: Length(9), RSVt(3), Kt(3);
variable: rsv(0), k(0), _d(0), _cond(False);
setbackbar(60, "D");
SetTotalBar(maxlist(Length,6) * 3);
value1 = average(getfield("Close", "D"), 20);
value2 = average(getfield("Close", "D"), 60);
請問在策略雷達腳本, 直接取30K頻率 20日/60日的均線是否可寫為 :
settotalbar(3);
value1 = Average(close,20); //30分K 20ma
value2 = Average(close,60); //30分K 60ma
Stochastic(Length, RSVt, Kt, rsv, k, _d);
if value1 cross over value2 then _cond = True; //20日均線向上突破60日均線的話 _cond 就為True
if _cond and k cross over _d then begin //_cond為True 且 KD黃金交叉的話警示,並將 _cond改回 False
ret = 1;
_cond = False;
end;
請問小幫手 您寫的腳本是否指20日均線向上突破60日均線時, 若KD黃金交叉的話警示.
我想寫的是當20日均線向上突破60日均線開始算, 之後出現的第一次 KD黃金交叉的話警示, 附上圖片說明,請小幫手幫忙,謝謝.
Hello 小梯子,
小幫手建議您先閱覽網站上的教學區,裡面有XS語法的基礎和應用。
如果您理解XS語法的話,就會知道小幫手寫的是當20日均線向上突破60日均線開始算,之後出現的第一次 KD黃金交叉的話警示。
在30分鐘頻率的狀況下:
value1 = Average(close,20); 會是20根30分鐘Bar的收盤價平均
value1 = average(getfield("Close", "D"), 20); 會是20根日頻率Bar收盤價的平均
if value1 cross over value2 then _cond = True;
這一行會在 value1 向上突破 value2 時將 _cond 由 False 轉為 True 並維持在True。
if _cond and k cross over _d then begin
ret = 1;
_cond = False;
end;
只有在滿足 _cond 為 True 且K向上跨越D的話才會警示,並把 _cond 調整為False。
謝謝小幫手的詳細解說, 大大感謝.
5 評論