P02 比例下單的參數設定
比例下單的策略設定好之後,想要調整各項比例參數,要從哪裡開始進行呢 ?
比例下單的參數設定
這裡介紹的是比例下單頁面上半部的參數設定。
請注意:不管是【簡易模式】或【精細模式】,都會用到【上半部】的設定,所以一定要弄清楚設定的方式。至於【下半部】的設定,就只有【精細模式】會使用到,這會在下一篇的操作說明裡介紹。
比例下單上半部的計算方式是依【由左到右】的順序計算,因此各項參數設定,請依照這個順序來進行設定。
以下就依照這個順序來說明每一個參數的意思。

簡易模式
【簡易模式】(預設是勾選) 使用在下列情況,也就是上一篇所講的方式:
1.全部策略都是文字檔,並且輸出到同一個資料夾裡。
2.每個策略多空最高倉位都 1 口,都沒有加碼單,所以每個文字檔的總倉位只會是:1, 0, -1。(若不是 1 口要改用【精細模式】)
3.系統會將所有文字檔的總倉位相加之後,再把加總值做最終比例倉位的計算。(也就是不能針對單一文字檔個別設定比例)
【精細模式】(取消勾選) 使用在以下任何一種情況:
1.對不同的策略,要分別設定不同的多空限制、倍數與比例。
2.某一策略的多空最高倉位會超過 1 口。
3.要合併的策略中包含【萬用 API】的訊號。
啟用
啟用有兩個欄位:
【啟用】欄位:勾選【啟用/不啟用】,不勾選的就不會列入比例倉位的計算。
【策略】欄位:這是顯示的是在【策略管理】頁面的啟用狀態,這必須在策略管理的頁面才能勾選,不能在比例下單的頁面勾選。
請注意:這兩個欄位都必須【同時勾選】,這一個比例下單策略才會有作用 !
滿倉部位與總倉位
依照【簡易模式】與【精細模式】的不同,這兩個欄位的計算方式也不一樣。
【簡易模式】:
【滿倉部位】= 會等於資料夾內文字檔的數量,因為每個策略最多下 1 口,例如有 6 個文字檔,最多就會下 6 口,多空倉位會顯示【6/-6】。
【總倉位】= 將目前資料夾內所有文字檔的倉位相加,就是目前的總倉位。
【精細模式】:現在還沒講解到,可以等下一篇看完之後,再回頭來看這裡的說明。
【滿倉部位】= 因為每個策略的最高口數可能不同,所以用每個策略的多空最高口數,分計算出來的多空【比例訊號】值相加。
【總倉位】= 將目前每個策略的【比例訊號】相加,就是目前的總倉位。
多空拐點:偏移多空部位的基準點
未設定是 0%,代表多空雙方的計算比例是相等的,沒有偏移的。
如果設定多空拐點【 > 0】,代表多單會偏移縮小,空單則會偏移放大。
如果設定多空拐點【 < 0】,代表空單會偏移縮小,多單則會偏移放大。
例如:多單限制 10 口、空單限制 10 口、多空拐點設定為【30%】:
目前總倉位【5】口:計算值 = 10 * (5/10 – 30%) =【2】口 (本來 5 口多單縮小成 2 口)
目前總倉位【0】口:計算值 = 10 * (0/10 – 30%) =【-3】口 (本來 0 口放大成空單 3 口)
目前總倉位【-5】口:計算值 = 10 * (-5/10 – 30%) =【-8】口 (本來 3 口空單放大成 8 口)
例如:多單限制 10 口、空單限制 5 口、多空拐點設定為【-30%】:
請注意,由於多空的限制口數不一樣,所以最高滿倉部位是取多空限制的最大值:10 口
目前總倉位【5】口:計算值 = 10 * (5/10 – (-30%)) =【8】口 (本來 5 口多單放大成 8 口)
目前總倉位【0】口:計算值 = 10 * (0/10 – (-30%)) =【3】口 (本來 0 口放大成多單 3 口)
目前總倉位【-5】口:計算值 = 10 * (-5/10 – (-30%)) =【-2】口 (本來 5 口空單縮小成 2 口)
請注意:因為要用最高口數來計算,所以主策略與所有訊號的【多單限制】與【空單限制】要設定 > 0,【多空拐點】的設定才會有作用 !
即時比例
【總倉位】經過【多空拐點】的計算之後的倉位,佔最高口數【滿倉部位】的比例值:
即時比例的計算方式 = 滿倉部位 * ( (總倉位 / 滿倉部位) – 多空拐點) / 滿倉部位
多單限制與空單限制
【多單限制】就是最高的多單口數:如果設定為 -1 代表【不限制】, 設定為 0 代表【不作多】。
【空單限制】就是最高的空單口數:如果設定為 +1 代表【不限制】, 設定為 0 代表【不作空】。
滿倉縮放:將目前總倉位依資金大小縮放至可接受的口數
以【多單】為例:
例如所有訊號的多單最高會下 20 口,目前計算出來的總倉位是 15 口,並且設定下單口數限制是 8 口,則最終【比例倉位】計算如下:
【未設定】滿倉縮放的話:因為下單限制是 8 口,所以就算是 15 口最多也只會下到 8 口。
設定【滿倉縮放】的話 :因為下單限制是 8 口,所以要下到滿 20 口,才會下到 8 口,目前總倉位 15 口會下到 15/20 * 8 = 6 口。
請注意:如果是在【精細模式】中,所有訊號的【多單限制】口數都要設為 >= 0,才能取得多空最高口數計算【滿倉縮放】的值 !
以【空單】為例:
例如所有訊號的空單最高會下 -20 口,目前計算出來的總倉位是 -15 口,並且設定下單口數限制是 -8 口,則最終【比例倉位】計算如下:
【未設定】滿倉縮放的話:因為下單限制是 -8 口,所以就算是 -15 口最多也只會下到 -8 口。
設定【滿倉縮放】的話 :因為下單限制是 -8 口,所以要下到滿 -20 口,才會下到 -8 口,目前總倉位 -15 口會下到 -15/20 * 8 = -6 口。
請注意:如果是在【精細模式】中,所有訊號的【空單限制】口數都要設為 >= 0,才能取得多空最高口數計算【滿倉縮放】的值 !
例如有某個策略的多空限制是設定成【不限制】,這樣就不能確定最高口數是多少,所以滿倉縮放就不能計算了。
倍數
倍數也是比例的一種,而且可設定至小數兩位數,也能設定【負值】,所以跟其它參數撘配起來變化就很靈活。
動態倍數
勾選動態倍數:讀取外部文字檔即時取得倍數值。
需要另外寫一支調控策略,依照評價函數、波動率、風控管理、資金大小等自訂條件,計算整體策略組合之【倍數】值,動態調控整體組合的下單口數。
例如目前策略組合下單口數是 8 口,倍數 1;後來調控策略計算出來的動態倍數是 0.75,輸出至文字檔傳給下單大師之後,將立刻平倉 2 口,把整體下單口數調降為 6 口。

捨入方式
目前提供四種捨入方式:
【四捨五入】
2.3 –> 2、2.5 –> 3、2.6 –> 3
-2.3 –> -2、-2.5 –> -3、-2.6 –> -3
【四捨六入】五成雙:遇 5 會捨入至最接近的【偶數】
2.3 –> 2、1.5 –> 2、2.5 –> 2、2.6 –> 3
-2.3 –> -2、-1.5 –> -2、-2.5 –> -2、-2.6 –> -3
【無條件捨去】
2.3 –> 2、2.8 –> 2
-2.3 –> -2、-2.8 –> 2
【無條件進位】
2.3 –> 3、2.8 –> 3
-2.3 –> -3、-2.8 –> -3
比例倉位 (最終總倉位)
【總倉位】經過【多空拐點】、【多空限制】與【倍數】的計算後,會得到【計算值】。
把【計算值】經過【捨入方式】捨入成整數,就是這個比例策略最終要下單的【比例倉位】(最終總倉位)。
在下單期間,只要【比例倉位】(最終總倉位) 發生變動,就會發動下單。
最新價格
顯示該比例策略的所有訊號【最近一次】訊號倉位變動的價格,此價格會和【比例倉位】(最終總倉位) 一起傳送至下單訊號中。
訊號偵測時間
不論比例策略裡的訊號數量多少,只會開一個執行緒偵測,而這個時間就是偵測所有策略總倉位的時間。
例如有 25 個策略訊號,設定 0.05 秒,每一秒會偵測 20 次:把 25 個策略的最新倉位全部取出並計算最終的比例倉位 (最終總倉位)。
等待時間
假設等待時間設定 5 秒,用上一個相同的例子,有 25 個策略訊號,偵測時間設定 0.05 秒,所以每秒每秒會一直連續偵測 20 次,直到有一次的偵測發現比例倉位 (最終總倉位) 跟之前不一樣的時候 (代表有新的下單訊號),這時候就會再等待 5 秒鐘,然後再偵測一次,確定比例倉位 (最終總倉位) 真的是不一樣,才會發動下單 !
為什麼要這樣呢 ? 因為可能在這 5 秒鐘內,25 個策略中有其它策略也在同時間被觸發導致倉位變動了,所以過了 5 秒再偵測一次,來確認真正的比例倉位 (最終總倉位) 是多少 ? 這樣也可以減少短時間進出的次數,因為比例下單是合併很多策略,所以同一時間有很多策略同時被觸發是很常見的情況。
下單間隔時間
假設下單間隔時間設定 20 秒,用上一個相同的例子,每秒 20 次偵測完,偵測到總倉位有變動,再等待 5 秒鐘,再偵測一遍,確定最終總倉位有變動而發動下單之後,會間隔 20 秒,然後再重新開始每秒 20 次的偵測,繼續偵測新的比例倉位 (最終總倉位) 是否有變動 ?
為什麼呢 ? 這也是因為多策略被同時觸發的關係,實務上是有客戶用 200 個策略合併成一個比例下單,經常發生價格剛好在某一區間,導致不斷下單又平倉,所以該客戶是設定下單後間隔 5 分鐘 (300 秒),直到價格脫離某個區間,再重新開始偵測新的下單訊號。
摘要
比例下單的各項參數設定,請依照【由左到右】的順序設定,若要將相同的設定值套用到所有策略,在設定框上按滑鼠右鍵【套用到全部】。