或更新其中的AC-DataServer.jar
AceChart股票程式化分析軟體
時間花在哪裡、成就就在哪裡
2017年7月11日 星期二
2017年6月8日 星期四
2017年5月16日 星期二
2017年5月7日 星期日
2016年5月31日 星期二
範例 - 2D選股(列表視窗)
2D指的是個股的"時間軸"與"價格",就像看一般技術分析的K線圖一樣,只看得到當下的標的,沒辦法做整體分析,這我稱為2D。而3D就是同時能看到"所有標的"的"時間軸"與"價格",可以參考排序與過濾(選股)。
2D分析的邏輯就是僅能針對單一標的逐個執行,從腳本中可能看不太出來,不過事情就是這樣。
程式碼很好懂,看看程式註解應該就能掌握了。
比較會有問題的部分可能在設定,常有選股結果一片空白的情況,通常是下面幾種情形:
1.) 股票池的標的太少,試試看用[設定]>>[列表庫]>>[台股全部]。
2.) 報價資料的天數不夠,例如要找50ma向上的股票,但報價只有給40天。
3.) 選股條件太嚴苛。
大致上是這樣,設定的部分有哪些?可以看一下這個圖。
2D選股還有一種做法,不用寫腳本,用圖形介面點點選選就可以了,腳本在script/chart/99.AC提供/自訂選股.java。
2D分析的邏輯就是僅能針對單一標的逐個執行,從腳本中可能看不太出來,不過事情就是這樣。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | lib "personal"; public class MyScript extends CustomCorePersonal { //選單需要的變數 double MA_N = 10; double PRICE = 10; MA ma = null; public void init() { dbg.open(); //初始化圖形指標介面 (但要關閉一些項目) cc_cfg.SHOW_MENU = false; cc_cfg.PAINT_LAYER = false; CustomCore_UI_INIT(); //加入指標 (程式碼從圖形介面導出) ma = addIdct("K線", "移動平均_2", new MA("N[0]="+MA_N)); //加入欄位 tbl.addCol("日期", 2, RIGHT, true); tbl.addCol("收盤", 2, RIGHT, true); tbl.addCol(MA_N+"MA", 2, RIGHT, true); tbl.addCol("交易量", 2, RIGHT, true); } //製作選單 public void eventShowInput() { HtmlInputHelper html = new HtmlInputHelper(LIGHTGRAY); html.add("選出", new InpNum("MA_N", 1, 3), "日均線向上"); html.add("且 收盤價大於", new InpNum("PRICE", 1, 3), "的股票"); updateInput(html.get()); } public void endOfPeriod(int type) { //於EOH時才執行過濾判斷 if (type == EOH) { //stop()用於通知系統這個核心已經不再需要執行 //若是在盤中仍需執行則不用stop(),但須注意記憶體的用量 if (close.ref(0)<PRICE) {stop();return;} if (ma.isNullRef(1) || ma.ref(0)<ma.ref(1)) {stop();return;} //通過選股條件後,新增一列資料到列表中 AcTableRow row = tbl.newRow(symbol, name); tbl.addRow(row); row.setDate(date.ref(0)); row.setCell(0, date.ref(0).getTime(), date2Str(date.get(t), "yyyy-MM-dd"), black); row.setCell(1, close.ref(0), close.ref(0), black); row.setCell(2, ma.ref(0), round(ma.ref(0), 2), black); row.setCell(3, (long)vol.ref(0), black); stop(); } } } |
程式碼很好懂,看看程式註解應該就能掌握了。
比較會有問題的部分可能在設定,常有選股結果一片空白的情況,通常是下面幾種情形:
1.) 股票池的標的太少,試試看用[設定]>>[列表庫]>>[台股全部]。
2.) 報價資料的天數不夠,例如要找50ma向上的股票,但報價只有給40天。
3.) 選股條件太嚴苛。
大致上是這樣,設定的部分有哪些?可以看一下這個圖。
2D選股還有一種做法,不用寫腳本,用圖形介面點點選選就可以了,腳本在script/chart/99.AC提供/自訂選股.java。
訂閱:
文章 (Atom)