管理員老師好!我寫(xiě)了一個(gè)日線交易系統(tǒng),想問(wèn)有什么辦法可以實(shí)現(xiàn)每天收盤(pán)前的1分鐘下單開(kāi)平倉(cāng),可否簡(jiǎn)單舉例說(shuō)明。因?yàn)槿绻胣ext bar at market開(kāi)平倉(cāng)的話(huà)容易遇到開(kāi)盤(pán)價(jià)滑價(jià)較大或是跳空的情況,謝謝!
?
您的問(wèn)題很明確,也很簡(jiǎn)短,但是涉及的點(diǎn)很多!
第一、您的周期是日線周期,若要實(shí)現(xiàn)收盤(pán)前1分鐘下單,需要開(kāi)啟bar內(nèi)模式;但是bar內(nèi)模式會(huì)每筆tick都計(jì)算一次,為避免不必要的計(jì)算,您可以使用if條件判斷語(yǔ)句,將主要的代碼放在條件判斷中,這樣可以減少不必要的計(jì)算量。
第二、收盤(pán)前1分鐘下單,也就是14:59到15:00之間,那么不活躍的商品合約可能提前收盤(pán)(也就是14:59之后沒(méi)有行情),這種情況就沒(méi)有辦法解決,所以您需要應(yīng)用到比較活躍的商品合約上。
第三、需要使用到判斷時(shí)間的關(guān)鍵字q_time,但是這個(gè)只能在實(shí)時(shí)行情中才可以取到值,不能用于回測(cè)中;而關(guān)鍵字time可以用于回測(cè),但是一般情況下只能取到每根bar的收盤(pán)時(shí)間,若要取每根bar的bar內(nèi)的tick時(shí)間,需要使用開(kāi)啟精細(xì)資料;當(dāng)然也可以將time和q_time的時(shí)間結(jié)合起來(lái),需要作一些特殊處理。
第四、下面給一下簡(jiǎn)單的例子,因?yàn)椴惶宄枰褂媚欠N情境:
[IntrabarOrderGeneration=true]
var: intrabarpersist ttime(0);
if ttime<1459 and q_time>=1459 then
buy next bar at market;
?
ttime=q_time;