請教在30分K 月線季線黃金交叉後的第一次KD黃金交叉時買進的策略腳本

  •   410 
  • 最後發表   小梯子  2023 五月 12
小梯子 發文於   2023/05/11

請教小幫手 : 

我是XQ會員, 想在30分K 月線和季線黃金交叉之後出現的第一次KD黃金交叉時買進, 請教策略雷達腳本要如何寫?

因為是新手關係, 請協助幫忙,大大感謝.

 

 

 

排序方式: 標準 | 最新
XQ小幫手 發文於   2023/05/11

 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;

 

小梯子 發文於   2023/05/12

謝謝小幫手的詳細回覆, 以下仍有一些地方想請教小幫手 :

 

 

 

網站上有教學區,裡面有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黃金交叉的話警示, 附上圖片說明,請小幫手幫忙,謝謝.

小梯子 發文於   2023/05/12

如圖

附加文件

XQ小幫手 發文於   2023/05/12

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。

小梯子 發文於   2023/05/12

謝謝小幫手的詳細解說, 大大感謝.

發表回覆
Close