對于之前就上線的onbaropen事件(開盤觸發(fā)),已經(jīng)有不少用戶積極地使用了起來,使得程序運(yùn)行效率提高。而現(xiàn)在TBquant繼續(xù)推出另一個息息相關(guān)的onbarclose事件(收盤觸發(fā))。
顧名思義onbarclose表示程序執(zhí)行過程中,在下一個baropen之前,可以再執(zhí)行當(dāng)前bar?最后一次,就會觸發(fā)onbarclose事件。
Onbarclose的利用同樣可以使得程序執(zhí)行效率可以提高,可以把需要在收盤執(zhí)行的命令放到收盤來執(zhí)行。而有了開盤事件和收盤事件,兩者一前一后,前后呼應(yīng)可以把K線系統(tǒng)里2個關(guān)鍵的時間結(jié)點的任務(wù)歸納起來。
舉個例子,比如我們平時做收盤價金死叉交易,從舊的方法上講我們會等待一個K線走完,在第二個K線的開盤進(jìn)行交易,那么理論上還是有那么些差別的,明明希望用的是close價格,但實際操作上必須把條件回溯一個周期,再使用當(dāng)前bar的open價格。
比如在onbar事件下的操作方法:
con_1 = crossover(ma1,ma2);
if( con_1[1] )
{
???????? Buy(1,open);
}
這樣的操作是正確的,但是從邏輯上講是進(jìn)行了一次轉(zhuǎn)換。
當(dāng)使用onbarclose的話:
???????? Con_1 = crossover(ma1,ma2);
if( con_1 )
{
???????? Buy(1,close);
}
從一致性上講,當(dāng)你想要用close價格去成交,開倉語句中使用的價格也是close,邏輯上不進(jìn)行轉(zhuǎn)換。
另外的,收盤價事件有一個特殊節(jié)點,就是在即將跨日的K線上,比如當(dāng)根K線即將收盤時,比如11;30或者15:00這樣的時間。如果卡在最后一刻進(jìn)行交易的話,那么程序雖然執(zhí)行邏輯無誤,但是因為網(wǎng)絡(luò)等多重因素,你的報單很可能成為廢單,所以我們在設(shè)計onbarclose事件時把這點也考慮了進(jìn)去,客戶可以控制距離收盤K線結(jié)束前的一小段時間,比如15:00收盤,我們控制該onbarclose觸發(fā)的時間為15:00前的5秒。這樣就可以完美規(guī)避,收盤最后沒入場的尷尬。實戰(zhàn)中這是一個非常重要的問題,所以我們在設(shè)計時,把這個問題提前解決了。
以上幾點是onbarclose的一些應(yīng)用和設(shè)計,用戶可以通過公式直接在收盤價操作,該事件讓編程基礎(chǔ)一般的朋友也能得心應(yīng)手。
?
?
?來源:CXH99.COM
如果是在小時k線中,應(yīng)用onbarclose中,SetTriggerBarClose(0.095900),直到9:59:30才出開倉信號,會在9:59:30或稍后幾秒即時開倉嗎?
?
就告訴一下??SetTriggerBarClose(settime); 放哪里的功夫,都不肯回答。這個社區(qū)是用來干嘛的?
回答個問題有那么難嗎?