打造個股儀表板

By | 2017-05-04

 

前幾天介紹了大盤儀表板,然後聰明的朋友就舉一反三的問我,那有沒有個股儀表板? 我試寫了幾天,總算寫出一個自己覺得還不錯的腳本,今天就來野人獻曝一下,大家對於尋找個股的買點,都有各自的獨門絕活,可以使用類似的寫法,建構自己的進場儀表板。

大盤儀表板的概念,是在K線圖上,標示出各種不同大盤指標的進場點,使用者每天打開這個儀表板,就知道有那些條件出現了買進訊號,如果近幾日不同的條件都出現買進的訊號,那就代表後市上漲的機率上昇。

個股儀表板也是類似的概念,我是使用彼此沒有相關性的資料,來建構不同的買進訊號,並且濾掉近期重覆出現的訊號,我使用的資料分別有以下十個指標或欄位

1.KD

2.內外盤量

3.淨力指標(計算開高低收之間的差距)

4.分公司買進賣出家數

5.三大法人買賣超

6.MACD

7.資金流向

8.總成交次數

9.強弱指標

10.主力買張

我在K線圖上,標出利用這十個數據所建構的進場點,就如下圖般

個股儀表板

每天把觀察名單拿來一檔一檔的用這個儀表板看一遍,就可以找出自己想要買的股票,進場點到了沒?

要畫出像上面的這張圖,對應腳本如下:

1condition1=false;
2condition2=false;
3condition3=false;
4condition4=false;
5condition5=false;
6condition6=false;
7condition7=false;
8condition8=false;
9condition9=false;
10condition10=false;
11switch(close)
12begin
13case >150: value5=low*0.9;
14case <50 : value5=low*0.98;
15default: value5=low*0.95;
16end;
17//==========日KD黃金交叉================
18
19input: Length_D(9, "日KD期間");
20input: Length_M(5, "周KD期間");
21variable:rsv_d(0),kk_d(0),dd_d(0),c5(0);
22 
23stochastic(Length_D, 3, 3, rsv_d, kk_d, dd_d);
24 
25c5=barslast(kk_d crosses over dd_d);
26if c5=0 and c5[1]>20
27then condition1=true; 
28if condition1
29then plot1(value5,"月KD高檔鈍化且日KD黃金交叉");
30//============內外盤量比差====================
31var:c3(0);
32value6=GetField("內盤量");//單位:元
33value7=GetField("外盤量");//單位:元
34if volume<>0 then begin
35value8=value7/volume*100;//外盤量比
36value9=value6/volume*100;//內盤量比
37end;
38value10=average(value8,5);
39value11=average(value9,5);
40value7=value10-value11+5;
41c3=barslast(value7 crosses over 0);
42if c3=0 and c3[1]>20
43then condition2=true;
44if condition2
45then 
46plot2(value5,"內外盤量比差");
47
48//===========淨力指標==============
49var:c4(0);
50input:period2(10,"長期參數");
51
52value12=summation(high-close,period2);//上檔賣壓
53value13=summation(close-open,period2); //多空實績
54value14=summation(close-low,period2);//下檔支撐
55value15=summation(open-close[1],period2);//隔夜力道
56if close<>0
57then
58value16=(value13+value14+value15-value12)/close*100;
59 
60c4=barslast( value16 crosses over -4);
61if c4=0 and c4[1]>20
62then condition3=true;
63if condition3
64then 
65plot3(value5,"淨力指標");
66
67//===========多頭起漲前的籌碼收集================
68var:c2(0);
69value1=GetField("分公司買進家數");
70value2=GetField("分公司賣出家數");
71value3=value2-value1;
72value4=countif(value3>20,10);
73c2=barslast(value4>6 );
74if c2=0 and c2[1]>20
75then condition4=true;
76if condition4=true
77then
78plot4(value5,"籌碼收集");
79
80//===========法人同步買超====================
81variable: v1(0),v2(0),v3(0),c1(0);
82v1=Getfield("外資買賣超");
83v2=Getfield("投信買賣超");
84v3=Getfield("自營商買賣超");
85
86c1= barslast(maxlist2(v1,v2,v3)>100);
87if c1=0 and c1[1]>20
88then condition5=true;
89if condition5=true
90then plot5(value5,"法人同步買超");
91
92//========DIF-MACD翻正=============
93input: FastLength(12), SlowLength(26), MACDLength(9);
94variable: difValue(0), macdValue(0), oscValue(0);
95MACD(weightedclose(), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue);
96var:c6(0);
97c6=barslast(oscValue Crosses Above 0);
98if c6=0 and c6[1]>20
99then condition6=true;
100if condition6
101then plot6(value5,"DIF-MACD翻正");
102//========資金流向======================
103
104var: m1(0),ma1(0),c7(0);
105m1=GetField("資金流向");
106ma1=average(m1,20)*1.5;
107c7=barslast(m1 cross over ma1 and close>close[1]);
108if c7=0 and c7[1]>20
109then condition7=true;
110if condition7
111then plot7(value5,"資金流向");
112//=========總成交次數================
113var: t1(0),mat1(0),c8(0);
114t1=GetField("總成交次數","D");
115mat1=average(t1,20)*1.5;
116c8=barslast(t1 cross over mat1 and close>close[1]);
117if c8=0 and c8[1]>20
118then condition8=true;
119if condition8
120then plot8(value5,"成交次數");
121//=========強弱指標==================
122var:s1(0),c9(0);
123s1=GetField("強弱指標","D");
124
125c9=barslast(trueall(s1>0,3));
126if c9=0 and c9[1]>20
127then condition9=true;
128if condition9
129then plot9(value5,"強弱指標");
130//============主力買張================
131var:b1(0),mab1(0),c10(0);
132b1=GetField("主力買張");
133mab1=average(b1,10);
134c10=barslast(b1 cross over mab1);
135if c10=0 and c10[1]>10
136then condition10=true;
137if condition10
138then plot10(value5,"主力買張");

裡頭有用了barslast這個函數,目的是濾掉那些近期重覆出現的買進訊號,函數的說明如以下的連結

barslast

 

寫完腳本後必須設定好繪圖的格式,在技術分析設定中的主圖疊圖頁籤中選個股儀表板之後,調整繪圖的型式,樣式,顏色及座標軸,如下圖,即可完成個股儀表板的制作了。

20170504

每個人對於進場點的選擇,可能有很多種方法,透過這個寫法,可以清楚的看到不同方法的進場點,也可以更進一步的,把出場點也標示出來,這麼一來,操作上就可以更進退有據了。