2016年11月12日

【MultiCharts】交易策略怎麼寫---從參考內建訊號開始

跟大多數人一樣,筆者學期貨交易也是從技術分析開始,技術分析起手勢就是學指標,我們從指標可以判多空也進一步形成進場策略,我們熟悉技術指標,加上技術指標量化且直覺的特性,透過指標來擬訂交易策略是相當建議的入門初學方案。一樣的,想在MultiCharts上寫好第一個交易策略,萬事起頭難,怎麼下手?筆者的建議就是從技術指標切入。好處有二,一你不用天馬行空,挑一個熟悉的技術指標不難,二是MultiCharts有現成的內建策略可以參考。

我們在先前這篇「從內建指標或訊號程式碼學怎麼運用函式」就有提及類似的學習方式,在這篇我們看過了MC裡內建的MACD交易訊號,本篇來試試另一個指標策略—布林通道訊號。首先我們先打開內建的訊號「BollingerBand LE」,程式碼如下:

================================================
inputs:
BollingerPrice( Close ),
TestPriceLBand( Close ),                                                        
                            
Length( 20 ),
NumDevsDn( 2 ) ;

variables:
var0( 0 ) ;

var0 = BollingerBand( BollingerPrice, Length, -NumDevsDn ) ;

condition1 = CurrentBar > 1 and TestPriceLBand crosses over var0 ;
if condition1 then
                                                                    
Buy ( "BBandLE" ) next bar at var0 stop ;
================================================

首先,這是個相當簡單明瞭的程式腳本,主要就是運用到BollingerBand這個函式,NumDevsDn取負值就是計算下緣線(反之取正值就是通道上緣線),至於進場邏輯就是收盤價由下往上穿越下緣線就做多。接下來我們以此腳本為基礎,發展成一個較完整的交易策略,需再增加以下內容:
1. 空單進場邏輯
2. 停損機制
3. 停利機制

完整的程式碼先附上如下,後面我們再一一解說:
================================================
inputs:
Length( 20 ),
NumDevsDn( 2 ),
ExitLen( 5 ) ;
variables:
var0( 0 ) ,
var1( 0 ) ;

var0 = BollingerBand( close, Length, -NumDevsDn ) ;
var1 = BollingerBand( close, Length, NumDevsDn ) ;

condition1 = CurrentBar > 1 and close crosses over var0 ;
condition2 = CurrentBar > 1 and close crosses below var1 ;

if condition1 then Buy ( "BBandLE" ) next bar at var0 stop ;
if condition2 then SellShort ( "BBandSE" ) next bar at var1 stop ;

if marketposition=1 then sell next bar at lowest(low, ExitLen) stop;
if marketposition=-1 then buytocover next bar at highest(high, ExitLen) stop;
================================================

與多單進場相反,做空邏輯即是當收盤價由上向下穿越布林通道上緣線則進場,至於停損機制我們以近5根K棒最低點為多單停損點,近5根K棒最高點為空單停損點,這個停損其實也是帶有移動停利的效果(進場方向對的話),所以也一併解決了停利需求,或者,停損停利也可以採用MC內建的停損停利函式

以上流程示範如何以內建訊號為基礎,完整的拚出一個有進場有出場的交易策略,不過還是要強調,這個範例是基於教學需要而簡化設計,至於後續的動作,包含更進一步加濾網就是策略開發進階要學的。


歡迎加入LINE@
加入好友
(點擊上方圖示)