有網友想要透過語法,從台股特別報價中的量大股,成交重心股,權值股中,找到五分鐘線技術指標出現買進賣出訊號的個股。我想藉這個題目,跟大家分享一下,在交易語法還沒有上線前,我是怎麼設定進出場的機制的。
首先,我推測網友的想法,舉的例子概念如下
一,挑的標的是今天盤中成交量排名在前面的股票
二,五分鐘K線MACD出現黃金交叉,就進場
三,如果買進之後,五分鐘K線的MACD出現死亡交叉後就平倉。
首先,要在盤中直接符合量大的條件,我的作法是去計算平均每五分鐘的成交量,然後如果這個成交量超過一定的金額就算是屬於有量的股票
假設日均量是一千億,一天有54根五分鐘K,為了好算,除以50,五分鐘的平均量是20億,目前有一千檔比較有量的股票,一檔平均分到200萬,那如果要排進前面的量大股,恐怕要500萬才行。
所以我就把進場腳本撰寫如下
if barfreq<>"Min"or barinterval<>5 then raiseruntimeerror("請把頻率設為五分鐘K"); input: vl(500,"五分鐘均量的下限單位萬"); value1=close*GetField("成交量","D")/10;//當日累計成交值,單位萬元 var:count(0); if date<>date[1] then count=0; count=count+1; if value1<>0 then value2=value1/count; //計算出平均每五分鐘的成交值,單位萬元 if value2>vl then begin//五分鐘均量超過下限 input: FastLength(12, "DIF短期期數"), SlowLength(26, "DIF長期期數"), MACDLength(9, "MACD期數"); variable: difValue(0), macdValue(0), oscValue(0),Kprice(0); MACD(weightedclose(), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue); if difValue Crosses Above macdValue then ret=1; end;
我有用這個腳本去回測,在多頭市場這是可行的
接下來比較麻煩,因為目前沒有支援交易語法,所以要在策略雷達中作交易設定
這樣才能直接把單子下出去
或是不要設定下單,直接在警示中心看到觸發的個股名稱再串到下單匣去作手動下單
在出場的部份,則是把因為上面策略觸發而進場的股票,拿去跑下面的腳本
if barfreq<>"Min"or barinterval<>5 then raiseruntimeerror("請把頻率設為五分鐘K"); input: FastLength(12, "DIF短期期數"), SlowLength(26, "DIF長期期數"), MACDLength(9, "MACD期數"); variable: difValue(0), macdValue(0), oscValue(0),Kprice(0); MACD(weightedclose(), FastLength, SlowLength, MACDLength, difValue, macdValue, oscValue); if difValue Crosses under macdValue then ret=1;
這樣當MACD翻黑時就可以出場了
未來如果有交易語法,就可以把這一整個結合成一個進出場的策略