前幾天的隔日沖語法介紹,湧現不少的回響,其中有一個需求是,追漲停的標的如果鎖不住,應該要讓電腦自動平倉,這個想法很好,我請XS教主幫我寫出這樣的語法,供大家作參考。
他寫的語法我稍為改寫如下(一樣,改錯了怪我,無損教主威名)
{ 追漲停+提前烙跑 - 日線 - 每日盤前啟動/收盤後關閉 - 使用自訂部位(讓系統記住先前的部位) - 在觸發時間之後, 如果是當日最高價, 且價位是漲停時買進 - 買進之後, 如果價格無法鎖住漲停, 則先出場 } input: entry_time(093000, "觸發時間"); input: check_not_uplimit(1, "漲停打開就先跑"); var: intraBarPersist lastdate(0); { 用來判斷換日 } var: intraBarPersist dayposition(0); { 每一日剛開始時的部位} var: intraBarPersist placeorder(false); { 今日觸發了沒 } if barFreq <> "D" then RaiseRunTimeError("請使用日線"); if date <> lastdate then begin lastdate = date; placeorder = false; dayposition = Position; if dayposition <> dayposition[1] then begin SetPosition(dayposition[1]); dayposition = dayposition[1]; end; end; // 底下是觸發條件 // condition1 = CurrentTime >= entry_time; condition2 = close=getField("漲停價", "D"); condition99 = condition1 and condition2 ; if condition99 and not placeorder then begin placeorder = true; SetPosition(Position+1); end;
//當日提前出場的檢查 // var: intraBarPersist exitToday(false); { 今日提前出場 } var: intraBarPersist highestSinceEntry(0); { 紀錄當日進場後的最高價 } var: intraBarPersist maxbuySizeSinceEntry(0); { 紀錄當日進場後的最大委買量 } if placeorder and Filled = Position then begin { 如果已經成交, 檢查是否要提前出場 } { case#1: 如果進場之後, 成交觸及漲停, 可是之後回落, 那就先跑 } highestSinceEntry = MaxList(Close, highestSinceEntry); if not exitToday and check_not_uplimit = 1 and highestSinceEntry = GetField("漲停價", "D") and Close < highestSinceEntry then begin exitToday = true; SetPosition(Position-1, label:="跌破漲停出場"); end; end;
這個腳本的概念是,每天九點半之後,如果收盤價=漲停價,就市價追一張,如果之後成交價不是漲停價,就出場。
我拿這個腳本去跑所有非KY的個股,過去兩年的回測 MDD是-13.28%。
● XQ【盤中量化交易模組】($1,000) 七大功能,購買就送【台股進階(原價$300)+小道瓊行情(延遲)】完整介紹 ➤https://utm.to/4apmvq
● 首次訂閱享7天鑑賞期,首次購買輸入官方優惠碼「@XQ8899」,首月可折抵模組費用$100!