常態服務: 程式交易課程  交易管理系統  

2016年4月24日 星期日

進出場的方法也能最佳化


程式交易小學堂─期貨投機事業的王道
承繼自上篇「函數:十進位轉二進位」。
說實在的,這篇文章在我自己的心中就像是在引導讀者走向 Curve over fitting。這個方法,基本上這麼做跟把圖表攤出來,搞 DataMining 也滿接近了 XD

過去,我們會在策略的測試中使用"參數"最佳化,但是不同的交易方法,就寫很多個訊號,一個一個慢慢對個別交易訊號做參數最佳化,不論你的目的是找出在歷史上表現最優秀的參數,還是為了檢查參數對績效的敏感度。現在,我們可以把所有你知道的進出場"方法",做各種可能組合的最佳化。當然,個別方法中的參數也能一併最佳化。

2016年4月22日 星期五

函數:最近第N個交易時段的日線最高價


程式交易小學堂─期貨投機事業的王道
在上一篇文章(http://www.yctseng.net/2016/04/n.html),我們有了正確計算目前 K棒是該交易時段內的第幾根,接著要來引用它做出取代 highD(N) 的函數:抓取最近第N個交易時段的最高價,名稱: _highSession(N),參數:第N個交易時段,回傳值類型:數值。

函數:交易時段內的第N根


程式交易小學堂─期貨投機事業的王道
好些開發策略應用在台指時的常用簡單觀念與寫法,轉進國外期貨的時候常常會發現一堆奇奇怪怪的狀況出現,比如:我想知道最近第幾天前的高點的價位。在台灣,交易時段的時間不會出現跨日的狀況,但是現在沒有不保證未來不會有呢。當我要知道昨天日線的最高點,通常就直接引用內建函數 highD(1),一點問題都沒有。但是國外期貨呢?

2016年4月16日 星期六

函數:十進位轉二進位


程式交易小學堂─期貨投機事業的王道
緣起於某位參加我課程的同學來信問我的問題:要如何以最佳化的方式測試各種不同出場方法的組合可能?(實際內容就不在這邊贅述了)。一開始,我們用了 Switch... case 的方式去做,透過 case 的數值來做最佳化,以最佳化的方式去做,是為了大量測試。但這只能得擇一的測試結果。於是,我想到了可以用二進位的方式來做!

我們可以指定一個參數值,用這個參數值去跑最佳化,但把參數值轉換成二進位表示,然後以二進位表示中,逐位數的 0 與 1 作為待測試出場方法的...開關。這樣做,就可以大量測試各種你想得到的出場方法去做組合,甚至把各種出場方法內使用不同的參數一併做測試了。於是,我們就需要一個把十進位轉成二進位的函數了。

2016年4月1日 星期五

QuoteManager之凱衛數據源的"更新狀態列資訊"


程式交易小學堂─期貨投機事業的王道
想來,某種程度上來說,我根本也是吃飽太閒... 日前,因為某種因素想看看 QM 中 Kway報價元件的一些設定有什麼影響?其中有個項目叫做"更新狀態列資訊"的選項,預設是有打勾的,我試著把打勾取消,看看會有怎樣的作用?也試過 MultiCharts 重新啟動,說實在的,當時真看不出這個選項到底有怎樣的作用,於是就放下了...

2016年1月7日 星期四

函數(_DailyProfit):取得過去第N日的當日損益


程式交易小學堂─期貨投機事業的王道
MultiCharts 內建函數中已經有當日賺賠的次數,也有當日已經進場、出場的次數,還沒看到取得某日損益變化的函數。而對我來說,我很關心每天的權益值變化... 這很重要。

所以,我們自己做個函數來取得以日為單位的損益數值。
函數名稱:_DailyProfit,參數 為 daysAgo。參數輸入 0 可取得今天的損益變化,輸入 1 則是昨天,2 則是前天... and so on。

2015年10月23日 星期五

MultiCharts的 點數K棒 有Bug


程式交易小學堂─期貨投機事業的王道
起源於日前 樸格交易團隊 發表了一篇利用 RangeBar 來避開盤整的方法,文章連結:https://goo.gl/OtO0P0。該文章中,我從樸格所帶上的圖去推測,應該就是 MultiCharts 上的,"點"圖。在圖表上,商品這部份的設定如下,試試看吧。

熱門文章