電子信箱 service [at] bituzi.com
幣圖誌首頁 facebook粉絲團 google plus google plus

程式交易策略庫-Escalator Trading System


用來設計交易系統最常用的方法之一就是先分辨指數趨勢,
然後從中去尋找可以在趨勢方向中進入市場的K線型態圖案,
本系統Escalator Trading System就是其中一種。
這邊用了兩條簡單移動平均線來決定指數趨勢,
然後再用兩個k棒價格型態來決定進場作多或作空。


大家一定對這個交易策略很好奇,從名稱上來看根本不知道是什麼策略,
實際上這是一個趨勢加上型態的策略,喔!太神奇了,傑克!
這到底是一個怎樣的策略,獵人這就來告訴大家。

如何決定趨勢


當收盤價高於短期跟長期移動平均線時啟動買進訊號,也就表示指數往上走。
當收盤價低於短期跟長期移動平均線時啟動賣出訊號,也就表示指數往下走。

如何決定何時進場


型態圖案其實很簡單,
當前一根k棒收盤價在k棒的最底端往上25%內,
且最近k棒的收盤價在k棒的頂端往下25%內時可以作多,
作者稱這種型態為一個弱收強收的型態。



當前一根k棒收盤價在k棒的最頂端往下25%內,
且最近k棒的收盤價在k棒的底端往上25%內時可以作空,
作者稱這種型態為一個強收弱收的型態。


接著就來介紹原文詳細的進出場方式。

進場方式

首先算出8根與40根k棒的簡單移動平均線,還有每根k棒的range(長度)。
(1) 當前一根k棒收盤價在k棒的最底端往上25%內,
且最近k棒的收盤價在k棒的頂端往下25%內,
且收盤價高於短期跟長期移動平均線時,
可以設定最近兩根k棒的最高點+1點為進場價格進場作多。
(2) 當前一根k棒收盤價在k棒的最頂端往下25%內,
且最近k棒的收盤價在k棒的底端往上25%內且,
當收盤價低於短期跟長期移動平均線時,
可以設定最近兩根k棒的最低點-1點為進場價格進場作空。

出場方式

(1) 進場做多的同時,設定停損點為前2根k棒的最低點-1為停損點。
以及進場價格加上2倍的停損價格為停利出場點。
(2) 進場作空的同時,設定前2根k棒的最高點+1點為停損點。
以及進場價格減掉2倍的停損價格為停利出場點。

事實上,作者把多空交易訊號分開成兩支訊號程式,
也就是一支程式純粹作多,另一支程式純粹作空,
然後可以分別對兩個多空不同的訊號程式去做最佳化,
畢竟不同的市場,不同的商品,參數也不會一樣,
所以當你拿來使用時的參數不會跟原始文章的參數一樣。
不過你還是可以把它組成同一支訊號,
然後分別設定多空參數,一樣可以達成同樣的目的。
老實說,程式交易這個領域充滿了無數的想像力與創造力,
有著各式各樣不同的交易邏輯,當然會賺錢的邏輯可能沒那麼多,
但是只要你有心,一定可以找到屬於自己的交易程式。
最後獵人把完整程式碼提供給大家參考,本程式碼僅作為研究使用。
作多程式碼如下所示:
Inputs: FastLength(8), SlowLength(40), RiskLength(2);
Variables: LongRisk(0);
Condition1 = Close[1] <= Low[1] + (.25 * Range[1]);
Condition2 = Close >= High - (.25 * Range);
Condition3 = Close < Average(Close, FastLength) 
AND Close < Average(Close, SlowLength);

If Condition1 AND Condition2 AND Condition3 AND MarketPosition <> 1 
Then Begin
Buy Next Bar at Highest(High, 2) + 1 Point Stop;
LongRisk = Lowest(Low, RiskLength) - 1 Point;
End;
ExitLong ("LX1") Next Bar at LongRisk Stop;
If MarketPosition = 1 Then
ExitLong ("LX2") Next Bar at EntryPrice + (2 * LongRisk) Limit;

作空程式碼如下所示:
Inputs: FastLength(8), SlowLength(40), RiskLength(2);
Variables: ShortRisk(0);
Condition1 = Close[1] >= High[1] - (.25 * Range[1]);
Condition2 = Close <= Low + (.25 * Range);
Condition3 = Close < Average(Close, FastLength) 
AND Close < Average(Close, SlowLength);

If Condition1 AND Condition2 AND Condition3 AND MarketPosition <> -1 
Then Begin
Sell Next Bar at Lowest(Low, 2) - 1 Point Stop;
ShortRisk = Highest(High, RiskLength) + 1 Point;
End;
ExitShort ("SX1") Next Bar at ShortRisk Stop;
If MarketPosition = -1 Then
ExitShort ("SX2") Next Bar at EntryPrice - (2 * ShortRisk) Limit;

用來設計交易系統最常用的方法之一就是先分辨指數趨勢,然後從中去尋找可以在趨勢方向中進入市場的K線型態圖案。

星期二、愛用Google+的幣圖誌朋友,立刻追蹤財經知識

0 意見: