XQ當沖回測設定: 用開盤價進場

2Shares
Image


XQ的自動交易回測,由於並非使用tick數據來回測,加上還有回測頻率、模擬逐筆、觸價即判斷成交、讓價幾檔等設定,讓許多人都搞不清楚,這些選項對回測進出場價格到底有何的影響,也常常會抱怨回測與實際下單有很大落差,本系列文章,將測試各種設定,讓使用者能更清楚各種設定相互間的關係,找出最適合自己的回測方式,本篇將測試不同設定,告訴你怎樣才能用開盤價進場。

1. 回測說明

XQ多了一個自動洗價功能之後,讓自動交易以開盤價進場變的可能,然而,在回測的設定上,如果設定不當,回測可能不是用開盤價進場,而是更晚的時間或其他價格,本文將會交叉測試四個選項,執行頻率、模擬逐筆洗價、洗價觸發判斷設定、讓價設定,讓使用這可以更清楚了解不同設定對進場價格的影響。

測試條件

這四個選項,要比較特別說明的就是預設買進價跟賣出價的+/-幾檔,所謂的+/-幾檔就讓價的設定,以多單的買單為例,如果是+1檔,就是積極買進,用觸發價加一個tick的價格送出委託單,由於委託的買價較高,通常都一定會成交,但取得成本會較差,如果是-1檔,就是用觸發價減一個tick的價格送出委託單,由於委託的價格較觸發價低,就不定會成交

而這個讓價設定在回測與實單上,會有些落差,是需要搞清楚的,回測時,想要用較低的成本買進,XQ的回測計算方式是只要你的委託數量小於當根Bar的成交量的1/4,就一定會成交,XQ不會去管當根bar,各個價位成交幾張,也沒這麼細的數據,但是在實單時,我們需要等該價位出現且前面的委託單都消化完,委託單才有機會成交,所以有人會說我回測有進場,怎麼實單沒有進場,很多時候就是這個原因。

2. 先說結論

這次回測設定包含了多種條件的交叉測試,為避免大家看到頭暈,這邊先說說測試結果。

這次的測試是要找到回測時能夠以開盤價進場的設定,根據測試結果,在一分K頻率下進場做多,有兩種設定回測會是用開盤價進場

  • 只開啟逐筆洗價,且觸發價設定在+0檔以上
  • 開啟逐筆洗價跟觸發即判斷成交,且觸發價設定在+0檔以上

另外,有關逐筆跟觸發即成交選項,可以記得,只要沒有開觸發即成交,回測出來的進出場價,就一定是開高低收四個價位的其中一個,不管你是讓價幾檔,而開了觸發即成交,則會用觸發價來當做是進場價,但是否較接近實單的進場價,跟逐筆設定也有關係,這個可以看看下方的回測會比較就容易理解。

我是覺得這些不同設定對進場價格的影響,是很值得了解一下的,尤其是對做當沖的朋友,搞清楚這些設定,回測與實單才能更為接近,有興趣的就繼續看下去囉。

3. 回測程式碼

本次用來測試的程式碼有兩個,一個用condition的方式,如下/

//程式碼1

condition1 = getfield("close", "D") >= 20;

if position = 0 and filled = 0 and condition1 then setposition(1);

另外一個方式則是將condition內的條件,直接放入程式判斷,之所以用兩個程式碼,主要是要看看寫法上的差異,在回測上是不是也會有所不同

//程式碼2

if position = 0 and filled = 0 and getfield("close", "D") >= 20 then setposition(1);

測試起來,兩種寫法對於進場價似乎沒有影響,所以以下的比較,就只當做用一種程式碼來測試。

4. 1分K頻率回測結果

以下幾個比較都是在一分K的頻率下做的回測結果,這個結果在五分K與日K都會有些差異,將會在VIP文章內做說明,

4.1 無模擬逐筆、無觸發即成交

以下為回測設定,沒有開啟模擬逐筆洗價也沒有開啟觸發即判斷成交的選項,而回測將會用買進價0檔、+1檔、-1檔來做比較

Image Not Found

當沒有開模擬逐筆跟觸發即成交的選項時,且都是在開盤第二根bar的開盤價,比較特別的是讓價-1檔的時候,會用9:00收盤價-1檔,當做是最高的進場價格,如果9:01的開盤價<=最高的進場價,就會是用9:01分的開盤價當做回測的進場價格,如果開盤價不符合,才會去比較最低價跟收盤價,看哪一個是最接近且<=最高進場價,就會用該價位當做是回測進場價

不過,由於都是9:01甚至之後的價格,跟我們想要的9:00開盤價進場,在價格上是會有所落差的,如果你想要一開盤就進場,就不要用這樣的設定來回測

Image Not Found

4.2 只開開模擬逐筆

以下為回測設定,只有開啟模擬逐筆洗價的選項,而回測將會用買進價0檔、+1檔、-1檔來做比較

Image Not Found

只開模擬逐筆的時候,當讓價0檔或是1檔時,回測結果會是9:00進場且是當天的開盤價,但是當讓價-1檔時,就會先用開盤價減一檔的價格當做是最高的進場價,後面的價格有小於等於該價格才會進場,至於會用開高低收那個價格進場,則是取決於誰最近接那個最高進場價。

Image Not Found

4.3 只開觸發即成交

以下為回測設定,只有開啟觸發即判斷成交的選項,而回測將會用買進價0檔、+1檔、-1檔來做比較

Image Not Found

只開觸發即成交的時候,回測的進場價位會根據讓幾個檔數來計算進場價格,以多單為例,如果是讓價0檔或是1檔時,會先用讓價0檔的價格來成交,如果是讓價-1檔時,就會成交在觸發價減1檔的位置,不再是用開高低收四個價位了

由於沒有開逐筆,只有觸發即成交,成交的時間與價位,會因為讓價設定而有所差異,當讓價0檔或是一檔時,回測進場價都是9:00的收盤價,而當讓價-1檔時,成交則會是在9:01分或之後,而成交價格會是用9:00的收盤價減1個tick,只要有出現小於或等於9:00收盤價減1個tick的價格就會進場,且成交價就是09:00收盤價減1個tick的那個價格

Image Not Found

4.4 開逐筆模擬、開觸發即成交

以下為回測設定,將模擬逐筆洗價跟觸發即判斷成交的選項都開啟,而回測將會用買進價0檔、+1檔、-1檔來做比較

Image Not Found

當模擬逐筆跟觸發即成交選項都還開啟的時候,讓價0檔跟讓價1檔跟只開模擬逐筆一樣,都是用9:00的開盤價當做是進場價,只有當讓價-1檔時,會跟只開模擬逐筆不同,當只開模擬逐筆時,成交價會是收盤價或最低價,但當模擬逐筆跟觸發即判斷成交都開啟的時候,就是成交在09:00減一個tick的價位。

5. 結語

這篇只測試了1分K下的成交位置與價格,如果是5分K、日K,成交位置跟價格又會在哪呢? 歡迎大家加入VIP會員,之後將會發布我們的回測結果

只要綁訂XQ推薦碼@VIP999,並且訂閱一個$1000模組,到這填填表單就可以免費加入,訂多久送多久,加入詳情見留言

XQ已經綁定非@VIP999推薦碼的人也可加入,請line: @aplustrading,詢問解決方式

2Shares


發佈留言

相關文章

如何運用AI修正XS程式碼錯誤

現在很多人都在用AI來寫程式,使用XQ的你,是不是超級羨慕也去嘗試讓AI撰寫XS程式碼了呢? 相信你試過之後的結果都會很失望吧,你以為他給你的是XS程式碼,但常常都是其他軟體的語法。

[AI] 定期定額投資績效計算頁面

定期定額投資的績效表現在XQ上並不容易回測,本文將會介紹我如何運用量化交易實驗室的AI,在短時間內就寫出一個可以計算定期定投入績效的XQ看盤頁面。

[VIP] 投資節目老師報明牌行不行

如果還沒看到前一篇的文章,可以先閱讀下,這篇主要是說明頁面我做了那些調整,跟我觀察到的心得分享,希望對大家有幫助。

投資節目老師報明牌行不行

前幾天在搜薄碩士論文的時候,看到一篇有趣的研究,研究標題是-投資理財節目異常推介有價證券與投資人行為及報酬率檢視-以上櫃公司為例,相信很多人都會跟我一樣想要知道老師報的明牌到底有沒有用吧,結論是大部分情況是有用,不過研究只有一年,到底現在還能不能用呢?用了個頁面讓大家自己研究研究

最近發文

加入我們

Categories

最新留言