- UID
- 2
- 积分
- 2874604
- 威望
- 1387331 布
- 龙e币
- 1487273 刀
- 在线时间
- 13155 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2024-11-24
|
程式交易知識庫-程式交易加碼介紹
『我就是伽瑪(加碼)過頭了才變成這樣啦』
程式交易的玩法可以千變萬化,當然獵人不可能所有的東西都懂,
只是獵人可以藉由在網路分享自己所知,可以找到一群志同道合的夥伴,
互相交流切磋,增進彼此的功力,這也是大家所樂見的。
當然,獵人還是有一些理想跟抱負的,有機會再跟大家分享。
今天要來介紹程式交易的加碼部分,這部份也是蠻多人有興趣的地方,
加碼方式百百種,不過還是要先介紹軟體設定的部份,軟體都沒搞定,
談了一堆策略也是沒用的。
今天會介紹MulitiCharts跟TradeStation這兩套軟體的加碼設定方式,
其實設定部分還蠻簡單的,不過因為有些讀者是初學者,
所以還是要慢慢的講解一下,首先我們先來看看MulitiCharts部分。
MulitiCharts程式加碼設定
首先打開MulitiCharts程式,加入我們想執行的訊號程式後,
然後按右鍵去設定訊號,如下圖所示:
然後去選擇屬性,會跳出一個視窗,
如下圖所示:
在這個視窗你可以設定你的交易成本與部位限制部分,
為了讓我們的策略可以重複進場,所以必須去更改部位限制的設定,
一般來說,當我們要設定程式執行加碼策略時,
我們會在主要進場邏輯進場之後,才會開始執行加碼策略。
所以程式中會有一個主要進場邏輯,還會有其他次要的進場邏輯,
比如說:當主要邏輯進場做多之後,我們決定指數再漲20點後,
再度進場加碼1口單,所以加碼的進場程式是要另外再寫的,
也就是說,主邏輯是進場方式1,加碼是進場方式2,以此類推。
所以必須勾選部位限制中的-「最多容許多少筆和目前倉位相同的委託」,
就看大家想要加碼到多少口就設定多少口,如下圖所示:
如果你的加碼策略是由同一個進場邏輯所產生的話,
那你就要勾選「無論委託是否由相同訊號產生」這個選項,
不過大家要切記,除非你的進場邏輯交代得非常清楚,
不然只要K棒滿足你的進場條件,就會一直重複進場,必須非常小心。
TradeStation程式加碼設定
一樣打開TradeStation程式,加入我們想執行的策略程式後,
然後按右鍵去Format Analysis Techniques,如下圖所示:
點進去後選擇 Format ,如下圖所示:
進去後看到第一欄Pyramiding Settings ,
一樣可以去選擇-
1. 不允許重複進場(Do not allow)
2. 允許不同的進場訊號重複進場(Allow fo differrnt entry signals only)
3. 允許相同或不同的進場訊號重複進場(Allow fo same and differrnt entry signals )
如下圖所示:
這之間的差異跟MulitiCharts一樣,參考上面的解說就好。
如此一來我們就可以來執行我們的加碼程式了。
既然都介紹了程式如何加碼了,我們就把之前的程拿來試試看,
這邊使用之前的累積分數進場策略,來看看績效有什麼差別。
回測時間,SHOW TIME!
回測目標:加碼對於原本策略有什麼影響?
回測標的:用台指5分K線作當沖交易。
回測成本設定:費用來回設定總共為1000元。
回測時間:從2002/1/2到2012/6/7。
進場方式:
(1)當分數超過+3,啟動買進訊號,當價格向上突破前6根K棒高點時進場作多。
(2) 當分數低於-3,啟動賣出訊號,當價格往下突破前6根K棒低點時進場作空。
濾網:
(1)限制當天多空都只能各進場一次。
(2) Highest(High,4)-Lowest(Low,4) < (Highd(0)-Lowd(0))×R。
(3) 最近6根K棒的高低點範圍要超過當日高低點範圍的某個比例。
(4)作多濾網:high>average(close,N),N為某整數。
(5) 今日最低點離均線太遠,不要作多,這邊設定差距為80點。
出場方式:
(1)設定停損點數為50點。
(2)收盤前1點40分全部出場。
(3)當獲利在50點內,指數拉回超過或是低於幾根K棒的高點或低點出場。
加碼多單進場方式:
當前面多單進場後,滿足下列條件就再次進場做多,
最多只能加碼1口。
(a) 當K棒高點超過之前進場點10點以上
(b) 當分數再累積2分以上
(c) 當日最高點要超過前1日最高點
(d) 前次進場後2小時內可以加碼,超過時間就不再加碼
(e) 12點30分後也不再加碼
滿足以上條件後,當價格向上突破前3根K棒高點時進場作多。
加碼空單進場方式:
當前面空單進場後,滿足下列條件就再次進場做空,
最多只能加碼1口。
(a) 當K棒低點低於之前進場點10點以上
(b) 當分數再減少2分以上
(c) 當日最低點要低於前1日最低點
(d) 前次進場後2小時內可以加碼,超過時間就不再加碼
(e) 12點30分後也不再加碼
滿足以上條件後,當價格往下突破前3根K棒低點時進場作空。
最後我們把報表整理如下:
A代表原始的程式
B是有加碼的程式
上圖為每年績效表
上圖為每年績效直方圖
上圖為其他各種報表重要數值
大家可以發現,原則上加碼之後的近場次數多了大概470次,
勝率跟Profit Factor都上升了,績效也有大幅上升超過100萬,
不過唯一美中不足的是,連續最大虧損(DD)變大了。
這邊要跟大家說明一件事情,當你使用加碼策略後,
不僅僅只有進場部分要注意,出場部分也是要注意。
怎麼說呢?因為這支程式雖然把進場方式給分開成2部分,
但是出場方式卻沒有區分,也就是說,不管先進還是後進的部位,
都會在相同的出場點出場,其實這樣是不太合理的。
因為先進場的部位,可能獲利空間比較大,可以忍受較大的震盪,
但是後進的部位,相對來說獲利空間較小,
可能無法忍受跟原本先進的部位一樣的震盪幅度,
所以出場部分必須要稍微區分一下才行。
當然連續最大虧損變大並不完全是因為出場方式的關係,
有許多失敗的加碼部位也是一個影響的重點。
所以要如何加碼會比較好,網路上其實有很多的討論,
大家可能也知道一些方式,可以先自己試試看,
也歡迎大家提供意見跟獵人討論喔!
大家想知道獵人如何修改加碼部分的程式碼嗎?
請按標題下的讚,然後到讀者回覆區回覆,如果讚數超過100,
獵人就把程式碼寄給大家,不然獵人會在一個月後找機會在文章上公布。
不想知道,想自己嘗試的人,也請給獵人一個鼓勵,按個讚吧!
還有之前的文章所要寄送的程式碼,可能有些讀者是後來陸陸續續回覆的,
獵人會定期彙整再寄出給大家,請大家耐心等候。
在撰寫加碼策略程式時,除了進場部分的策略要分散之外,出場方式也要作區分喔! |
论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
|