進階篇: 觸發設定方式的應用
2016-01-11 09:41:15
觸發設定方式的應用

在策略雷達的設定畫面內有一個觸發設定的選項,這個設定到底有哪些用途呢?在底下就一一為您介紹。

 

觸發設定總共有4種選項,分別是連續觸發K棒內單次觸發啟動後只觸發一次,以及單次洗價模式

當選擇連續觸發時,每次訊號觸發時都會通知,不做任何的限制。通常在腳本觸發情境與先前的觸發無關,

且需要重複通知時就可以選擇這種方式。

舉例而言:

if q_TickVolume > 1000 then ret = 1;

上面的腳本使用日線頻率執行,採用逐筆洗價的方式,所以每一次的成交都會執行腳本,且成交單量大於1000張時則通知。由於我們希望知道每一次的大單,所以可以選擇連續觸發的通知方式。

K棒內單次觸發啟動後只觸發一次的定義很類似:K棒內單次觸發指的是在同一根K棒內如果觸發多次訊號的話,只通知第一次,換了K棒之後就又可以繼續通知。而啟動後只觸發一次則是策略啟動之後不管觸發多次訊號,就只通知第一次。

同樣的,選擇哪種設定方式會跟腳本的內容以及我們預期想要接受的訊號時機點有密切的關係。我們看以下腳本:

if barfreq = "Min" and barinterval = 1 and
TrueAll(close >Close[1] ,10) then ret=1;

這個腳本是應用在1分鐘頻率上,當連續10筆K棒都上漲時則觸發。為了追求時效,我們把洗價模式設定成逐筆洗價,表示當有價格成交時就馬上執行腳本,而不是等到1分鐘K棒結束時才執行腳本。這樣子的話當目前的成交價比前一根K棒上漲,而且先前也已經連續漲了9根時,腳本就會觸發。在這種情形底下,就可以把觸發方式設定成K棒內單次觸發,以減少通知的次數。

那什麼時候可以使用啟動後只觸發一次呢?我們看一下底下的腳本:

if close > Average(close, 10) and close[1] < Average(close, 10) and
volume > Average(volume, 5) * 3
then ret=1;

上面的腳本會在收盤價穿越10日均線,且成交量突破5日均量時觸發。我們把這個腳本應用在日線資料上,設定成是逐筆洗價,觸發方式則是啟動後只觸發一次,所以當第一次發生收盤價穿越後就通知,接下來價格可能上下波動,也可能再次產生穿越的情形,可是就不再通知了。

當然,觸發方式如何設定沒有一定的準則,端看腳本設計方式,以及使用者預期接受到的觸發情境而異,您不妨自己動手試看看。

最後一個要講的是單次洗價模式。這是一個很特別的執行方式:他與其他執行方式最大不同之處在於,選擇了單次洗價模式之後,腳本執行後會把最後一根K棒符合腳本條件的商品列出來之後就停止執行,不像其他的執行方式會等待即時價格更新後才觸發。也就是說,單次洗價模式的執行邏輯跟選股中心的執行方式是比較類似的。

以上簡單說明了觸發設定的各種不同定義,以及不同情境底下應用的方式。大家可以實際操作試看看中間的差異,有任何問題的話也歡迎隨時提出。