使用跨頻率指標選股outputfield的數值跟線圖上的不一樣

  •   479 
  • 最後發表   Hardy  2018 八月 07
Hardy 發文於   2017/08/15

小幫手你好

我使用跨頻率KD去做選股指標(例如今日的週%K大於週%D),並且outputfield,其中選股結果KD的數值和技術線上的KD數值有落差,請問為什麼會這樣?

另外,請問技術指標出現資料欄位無法使用的問題還要多久才能修復呢?

謝謝

 

排序方式: 標準 | 最新
XQ小幫手 發文於   2017/08/15

Hi Hardy,

請提供您的自訂選股腳本程式碼,以利小編查看問題的原因,

 

關於修復何時完成,沒有確切的時間,待修復後,小幫手會再通知您,

造成不便請見諒,謝謝。

Hardy 發文於   2017/08/15

如圖所示,兩邊的數值有落差。

程式碼如下。謝謝。

// 跨頻率週KD指標

//

input: Length(5), RSVt(3), Kt(3);

variable: rsv(0), k(0), _d(0);

 

SetTotalBar(Length * 6);

SetInputName(1, "天數");

SetInputName(2, "RSVt權數");

SetInputName(3, "Kt權數");

 

xf_stochastic("W", Length, RSVt, Kt, rsv, k, _d);

 

ret = k > _d;

 

outputfield1(k,"周%K");

outputfield2(_d,"周%D");

 

XQ小幫手 發文於   2017/08/15

HI Hardy,

資料讀取範圍不夠長,所以計算出來的數值不正確,

請您試試以下完整修改選股程式碼範例:

// 跨頻率週KD指標
//
input: Length(5), RSVt(3), Kt(3);
variable: rsv(0), k(0), _d(0);

SetTotalBar(maxlist(Length,6) * 3 * 7);
SetInputName(1, "天數");
SetInputName(2, "RSVt權數");
SetInputName(3, "Kt權數");

xf_stochastic("W", Length, RSVt, Kt, rsv, k, _d); 

ret = k > _d; 

outputfield1(k,"周%K");
outputfield2(_d,"周%D");

 

以上,謝謝。

 

Hardy 發文於   2017/08/15

小幫手你好,

修正過後數值已經相同。感謝你的幫忙。

另外,請問

SetTotalBar(maxlist(Length,6) * 3 * 7);

的範圍是怎麼得知的?

感謝。

Hardy 發文於   2017/08/15

另外,跨頻率的RSI也有同樣的問題(即使settotalbar的範圍用了你提供的程式碼還是一樣)。

// 跨頻率週RSI指標

//

input: Length1(6), Length2(12);

 

SetTotalBar(maxlist(Length2,6) * 3 * 7);

SetInputName(1, "天數一");

SetInputName(2, "天數二");

 

Ret = xf_RSI("W", GetField("Close","W"), Length1) > xf_RSI("W", GetField("Close","W"), Length2);

 

outputfield1(xf_RSI("W", GetField("Close","W"), Length1),"周RSI 1");

outputfield2(xf_RSI("W", GetField("Close","W"), Length2),"周RSI 2");

請問該如何解決?感謝

XQ小幫手 發文於   2017/08/16

Hi Hardy,

SetTotalBar(maxlist(Length,6) * 3 * 7);

有關跨週KD的資料讀取範圍,

是參考選股腳本:KD死亡交叉(選股) 的 SetTotalBar(maxlist(Length,6) * 3);

 

由於跨週KD是由日資料組成,故資料讀取範圍需約 乘以 7 ( 因為一週7天 )

 

同理,

跨週頻率的RSI 選股腳本,

可以先參考選股腳本:RSI死亡交叉(選股) 的 settotalbar(maxlist(RSILength,6) * 9);

由於跨週RSI是由日資料組成,故資料讀取範圍需約 乘以 7 ( 因為一週7天 ),

故請修改為

settotalbar(maxlist(Length2,6) * 9 * 7);

應該就會正確,

 

以上說明,謝謝。

 

P.S. 由於資料讀取範圍的設定,會根據每個技術指標的計算方式,而有所不同,

較簡單的方式是,如果計算出來的數值不正確,則將資料筆數調更多一些,

較複雜的方式是,先查看系統腳本的相關技術指標範例,通常都有 settotalbar 的範例可參考;參考後再依據您的腳本調整settotalbar程式碼。

最後,如果以上設置後,還是計算不正確,呈請發文詢問,會有熱心的板友或者小幫手幫忙查看問題的原因。

 

 

Fred 發文於   2018/07/26

xf_RSI("W", GetField("Close","W"), Length1) 的前一期 要如何寫? 

XQ小幫手 發文於   2018/07/27

Hi Fred,

您好,可以使用 xf_GetValue 如連結語法說明,

例如:

value1 = xf_RSI("W", GetField("Close","W"), Length1);   //計算週線的RSI
value2 = xf_GetValue("W",value1,1); //取得上一週的週RSI

以上方向供您參考,謝謝。

 

Fred 發文於   2018/08/06

感寫 取得上一週的週RSI 寫法     6.41版本並未獲得改善 .  指標繪圖 跑掉了.   我如何回復之前 5種跨頻率model/scrip  指標繪圖 圖形的設定 ? (除了退版外)  (如setmode1  是之前 setmode2 現在)

 

XQ小幫手 發文於   2018/08/07

Hi Fred,

您好,客服專人有收到您的來信,並回信請您提供相關資訊,以利相關人員查詢問題的原因,

或者請您詢問服務行銷業務同仁協助您,以上說明,謝謝。

發表回覆
Close