除了移動平均線,投資者最常用的技術指標,相信非 RSI、STC 及 MACD 莫屬。現在簡單介紹一下它們在 MetaStock 程式中的表達方式:
為幫助理解,我們嘗試自行建立隨機指數 (STC),在 Indicator Builder 輸入以下的指標名稱及程式:
Name:STC
Formula:
Stoch(14,3)
可以看到,Stoch(14,3) 代表慢隨機指數的 %K (14天 / 3天),那麼 %D 呢?由於它是 %K 的 3日平均值,因此可以用 Mov() function 來建立:
Mov(Stoch(14,3),3,S)
現在我們嘗試利用 Stoch() function 建立一個交易系統。
1. 打開 Enhanced System Tester,再按 "New System...",輸入系統名稱:STC System。
2. 在 "Buy Order" 裡輸入以下程式:
Mov(Stoch(14,3),3,S)<20 AND
Cross(Stoch(14,3),Mov(Stoch(14,3),3,S))
第一行的意思是 %D 的數值在 20以下,而第二行是指 %K 由下往上升穿 %D,兩者同時發生的話就做好倉。
3. 在 "Sell Order" 裡輸入:
Cross(Mov(Stoch(14,3),3,S),80) OR
Cross(Mov(Stoch(14,3),3,S),Stoch(14,3))
意思是當 %D 升越 80,或 %K 跌破 %D 就平好倉。
4. 在 "Sell Short Order" 裡輸入:
Mov(Stoch(14,3),3,S)>80 AND
Cross(Mov(Stoch(14,3),3,S),Stoch(14,3))
%D 在 80以上,且 %K 跌破 %D 就做淡倉。
5. 在 "Buy to Cover Order" 裡輸入:
Cross(20,Mov(Stoch(14,3),3,S)) OR
Cross(Stoch(14,3),Mov(Stoch(14,3),3,S))
當 %D 跌破 20,或 %K 升穿 %D 就平淡倉。
6. 接下來進行 back-testing,我選了恆指作為測試對象:
結果顯示,若單純地根據 STC 的訊號來買賣,由 2000年至今共蝕了 5192點。是否代表 STC 毫無價值?卻也未必。我嘗試加上一條 200天線作濾網,看看能否改善這個系統的表現:
BUY ORDER
C>Mov(C,200,S) AND
Mov(Stoch(14,3),3,S)<20 AND
Cross(Stoch(14,3),Mov(Stoch(14,3),3,S))
我希望只有在牛市中才接受 STC 的買入訊號,這裡以 200天線作為牛熊分界線,C>Mov(C,200,S) 這句,即代表恆指的收市價要高於 200天線。
SELL SHORT ORDER
C<Mov(C,200,S) AND
Mov(Stoch(14,3),3,S)>80 AND
Cross(Mov(Stoch(14,3),3,S),Stoch(14,3))
同樣,恆指要低於 200天線,才接受 STC 的沽出訊號 (做淡)。
至於平倉訊號則維持不變,再做一次 back-testing,看看結果如何:
加入 200天線作濾網後,交易筆數由原本的 291下降至 76,而且轉虧為盈,證明我們成功過濾掉一些不理想的交易。雖然 1708點的利潤微不足道,但我的原意只是示範 Stoch() function 的實際應用,並不是想推介這個交易系統,所以不用太在意測試結果。
沒有留言:
張貼留言