求助,跳空平倉的代碼編寫問題
作者:開拓者 TB 來源:cxh99.com 發布時間:2016年11月17日
- 咨詢內容:
我的代碼如下, 在1小時周期上實現
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);
}
}
邏輯是持有單子時,夜盤開盤只要與持倉反向跳空A*minmove個點,就平倉。
但是測試時發現,21點到21點03分的時候 正向跳空也會被平倉,而且3分之后平倉信號又消失了。
這樣在實盤中會出現持倉不同步的情況。
求解!
- TB技術人員:
把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);
- }
- }
復制代碼并且在程序最開始加上過濾集合競價的代碼(以下代碼僅用于分鐘線/小時線。日線不可用):- If(BarStatus==2 && Time==0.210000 && High==Low) return;
復制代碼