有投資朋友問到他想把量大創今高的股票警示出來,然後就寫了一個程式:
因為我沒有經過本人同意,所以我把程式碼做點處理;一般來說我們在寫程式都會很直覺的用"人腦"的角度來思考,當我想找創新高暴量時,會很直覺得用1分K,然後每根K的量價來比較;但其實在"電腦"的世界裡,你只需要給他條件去篩選就好了。所以我的話我會這樣處理。
條件一:創今高,XS有內建的當日新高函數,創今高只需要用high=q_DailyHigh就可以。
條件二:暴量,這個的定義就很多,而且每支股票的成交量不同,很難用一個絕對值來設定,這時候我就會有幾個想法。
到XS的函數搜尋一下,有昨量的函數可以用,這時候就可以想一下:現貨一天交易是4.5個小時、270分鐘,如果我想用平均分鐘量的N倍來做暴量的篩選就可以用昨量:
value1=q_PreTotalVolume/270; 算出昨天每分鐘的平均量。
兩個結合一下,大概就可以先有個樣子:
input: N(5); //分K量的倍數
value1 = q_PreTotalVolume/270; //昨日分K均量
value2 = GetField("Time"); // 時間函數,要濾掉開盤量用的
if value2 > 090100 and high=q_DailyHigh then begin //9點1分以後,價格創今高
if volume>value1*N then ret=1; //分K量 > 昨日分K均量N倍
end;
這樣子,當創今高時就會去看量有沒有昨天分K均量的5倍,有就會警示。
補充一下:如果開盤第1分就是今天最高價的話這個程式就會篩不到。
題外話:還有一些量的程式可以試試。
一、單筆量>499張,因為券商會控管一般自然人下單上限是500張,所以有單筆超過499張的可以留意。
二、估計量>昨量的N倍,XS內建有估計量的函數,可以用來看個股當日會不會暴量。
三、成交金額,因為股價有高有低,100張大同也買不到1張大立光,成交金額也有人拿來用:成交價 X 成交量 > N ;N可以設個500萬、1000萬....等等。
留言列表