例如一個KD指標,我要如果分別取得k跟d值呢?我先講解一個例子,後面就依樣畫葫了。
KD (script\library\accustomcore\src\IDCTs\02.指標\KD.java)
KD指標的長的像是這樣,但剃除了多餘的部分,僅留下你們會用到的部分。
1 2 3 4 5 | public class KD extends IDCT { public MovinNum k; public MovinNum d; } |
用法範例如下 : (14與15行)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public class MyScript extends CustomCorePersonal { KD kd = addIdct("KD", "KD_3", new KD("")); public void init() { CustomCore_UI_INIT(); } public void endOfPeriod(int type) { if (type == EOH) { dbg.print("K為 : " + kd.k.ref(0)); dbg.print("D為 : " + kd.d.ref(0)); } } } |
MA
再看一個最常用的均線。
1 2 3 4 | public class MA extends IDCT { MovinNum[] value_arr = new MovinNum[DEF_VAR_SIZE]; } |
稍微有點不一樣,變成是一個MovinNum的陣列了,會這樣設計是為了讓使用者透過一個指標設定多條均線,但用法大同小異。
1 2 3 | dbg.print("預設(同第一條均線) " + ma.ref(0)); dbg.print("第一條均線 " + ma.value_arr[0].ref(0)); dbg.print("第二條均線 " + ma.value_arr[1].ref(0)); |
---
大致上都可以用類似kd.ref(0)直接取得該指標預設的值,除非該指標含有多種數值,就需要用類似kd.d.ref(0)的寫法。
恕我沒能將所有指標都像這樣帶各位瀏覽一遍,是覺得有點麻煩,但其實accustomcore這個部分是有開放原始碼的,大概看一下變數的宣告其實就知道有什麼變數能用,不算太難,也算是一個小小的考驗吧。
沒有留言:
張貼留言