開(kāi)拓者 TB DeleteOrderTickCounter + 1;不明白的是,為什么要在這里將該變量+1處理呢??? [開(kāi)拓者 TB]
- 咨詢內(nèi)容: 這是在tb公式指南中,A函數(shù)與全局變量匹配使用小節(jié)中的一條語(yǔ)句:DeleteOrderTickCounter = DeleteOrderTickCounter + 1;不明白的是,為什么要在這里將該變量+1處理呢???
這是整段代碼:
Params
Numeric offSet(1); // 委托價(jià)格偏移,為了保證成交
Numeric BeforeMins(5); // 收盤(pán)前幾分鐘開(kāi)始操作
Vars
Numeric tempPos; // 倉(cāng)位
Numeric DeleteOrderTickCounter;
Numeric HasSendOrder(0);
Begin
If(BarStatus == 0)
{
DeleteOrderTickCounter = 9999;
HasSendOrder = 0;
SetGlobalVar(0,DeleteOrderTickCounter);
SetGlobalVar(1,HasSendOrder);
}Else
{
DeleteOrderTickCounter = GetGlobalVar(0);
HasSendOrder = GetGlobalVar(1);
}
If(CurrentTime > (0.1459 - 0.0001*(BeforeMins-1)) && BarStatus == 2 && HasSendOrder == 0)
{
If(Data0.Close != InvalidNumeric && Data0.A_GetOpenOrderCount()>0) //商品0全部撤單
{
Data0.A_DeleteOrder();
DeleteOrderTickCounter = 1;
}
If(Data1.Close != InvalidNumeric && Data1.A_GetOpenOrderCount()>0)//商品1全部撤單
{
Data1.A_DeleteOrder();
DeleteOrderTickCounter = 1;
}
If(Data2.Close != InvalidNumeric && Data2.A_GetOpenOrderCount()>0) //商品2全部撤單
{
Data2.A_DeleteOrder();
DeleteOrderTickCounter = 1;
}
DeleteOrderTickCounter = DeleteOrderTickCounter + 1; //就是這里看不明白???
SetGlobalVar(0,DeleteOrderTickCounter);
If(DeleteOrderTickCounter < 5) Return; // 撤單后需要延遲幾個(gè)Tick才平倉(cāng)
tempPos = Data0.A_BuyPosition();
If(tempPos > 0) // 平多單
{
Data0.A_SendOrder(Enum_Sell,Enum_Exit,tempPos,Data0.Q_BidPrice - offSet* Data0.MinMove*Data0.PriceScale);
}
tempPos = Data0.A_SellPosition();
If(tempPos > 0) //平空單
{
Data0.A_SendOrder(Enum_Buy,Enum_Exit,tempPos,Data0.Q_AskPrice +offSet*Data0.MinMove*Data0.PriceScale);
}
tempPos = Data1.A_BuyPosition;
If(tempPos > 0) // 平多單
{
Data1.A_SendOrder(Enum_Sell,Enum_Exit,tempPos,Data1.Q_BidPrice -offSet*Data1.MinMove*Data1.PriceScale);
}
tempPos = Data1.A_SellPosition;
If(tempPos > 0) //平空單
{
Data1.A_SendOrder(Enum_Buy,Enum_Exit,tempPos,Data1.Q_AskPrice +offSet*Data1.MinMove*Data1.PriceScale);
}
tempPos = Data2.A_BuyPosition;
If(tempPos > 0) // 平多單
{
Data2.A_SendOrder(Enum_Sell,Enum_Exit,tempPos,Data2.Q_BidPrice -offSet*Data2.MinMove*Data2.PriceScale);
}
tempPos = Data2.A_SellPosition;
If(tempPos > 0) //平空單
{
Data2.A_SendOrder(Enum_Buy,Enum_Exit,tempPos,Data2.Q_AskPrice +offSet*Data2.MinMove*Data2.PriceScale);
}
HasSendOrder = 1;
SetGlobalVar(1,HasSendOrder);
}
End - TB技術(shù)人員: 很簡(jiǎn)單,就是在數(shù)撤單后過(guò)了幾個(gè)Tick。。。。。
- TB客服: DeleteOrderTickCounter = DeleteOrderTickCounter + 1; //就是這里看不明白???
If(DeleteOrderTickCounter < 5) Return; // 撤單后需要延遲幾個(gè)Tick才平倉(cāng)
這兩句是配合的。當(dāng)撤單后果了5個(gè)tick才平倉(cāng) - 網(wǎng)友回復(fù): 本帖最后由 co8 于 2013-4-11 17:57 編輯
感謝兩位老師的回復(fù),對(duì)不起,可能是我沒(méi)問(wèn)清楚;
我的問(wèn)題是該語(yǔ)句為什么要+1?如果不加1行嗎?不加1會(huì)是什么結(jié)果?
有思路,想編寫(xiě)各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 1145508240 進(jìn)行 有償 編寫(xiě)!(不貴!點(diǎn)擊查看價(jià)格!)
相關(guān)文章
-
沒(méi)有相關(guān)內(nèi)容