求助,跳空平倉的代碼編寫問題
作者:開拓者 TB 來源:cxh99.com 發(fā)布時(shí)間:2016年11月17日
- 咨詢內(nèi)容:
我的代碼如下, 在1小時(shí)周期上實(shí)現(xiàn)
If(MarketPosition >= 1 And BarsSinceEntry >= 1)
{
If ((Time==0.2100 And CurrentTime<=0.2103) And (CloseD(1)-Open)>(A*MinMove))
{
Sell(0,open);
}
}
If(MarketPosition <= -1 And BarsSinceEntry >= 1)
{
If ((Time==0.2100 And CurrentTime<=0.2103) And (Open-CloseD(1))>(A*MinMove))
{
BuyToCover(0,open);
}
}
邏輯是持有單子時(shí),夜盤開盤只要與持倉反向跳空A*minmove個(gè)點(diǎn),就平倉。
但是測試時(shí)發(fā)現(xiàn),21點(diǎn)到21點(diǎn)03分的時(shí)候 正向跳空也會(huì)被平倉,而且3分之后平倉信號(hào)又消失了。
這樣在實(shí)盤中會(huì)出現(xiàn)持倉不同步的情況。
求解!
- TB技術(shù)人員:
把CurrentTime<=0.2103刪掉,修改為:
- If(MarketPosition >= 1 And BarsSinceEntry >= 1)
- {
- If(Time==0.2100 And (CloseD(1)-Open)>(A*MinMove))
- {
- Sell(0,open);
- }
- }
- If(MarketPosition <= -1 And BarsSinceEntry >= 1)
- {
- If(Time==0.2100 And (Open-CloseD(1))>(A*MinMove))
- {
- BuyToCover(0,open);
- }
- }
復(fù)制代碼并且在程序最開始加上過濾集合競價(jià)的代碼(以下代碼僅用于分鐘線/小時(shí)線。日線不可用):- If(BarStatus==2 && Time==0.210000 && High==Low) return;
復(fù)制代碼