下單組件為什么控制不住開倉數量? [贏順期貨]
- 咨詢內容:
VAR Price; //定義最新價
VAR sg; //定義上軌值
VAR xg; //定義下軌值
VAR MinPrice;// 定義最小變動值
VAR dcidvol;// 定義多倉數量
VAR kcidvol;//定義空倉數量
//--------------------------------------------------------------------
//主函數部分
//--------------------------------------------------------------------
VOID MAIN()
{
MinPrice=MinPrice("sr1209");
Price=Price("SR1209"); //讓PRICE函數取得SR1201的最新價
sg=F_Variant("sg",0);
xg=F_Variant("xg",0);
dcidvol=F_BuyPosition();
kcidvol=F_SellPosition();
IF (Price>sg)
//開倉部分
{
IF(F_BuyPosition()>=0&&F_BuyPosition()<=3)
{
BKid();
}
}IF (Price<xg)
{
IF(F_SellPosition()>=0&&F_SellPosition()<=3)
{
SKid();
}
}
//這里加平倉部分
}
//------------------------------------------------------------
//自建函數部分
//-------------------------------------------------------------
VOID BKid() //建立多頭倉位
{
T_Deal(F_DealCode(),0,0,1,Price+2*MinPrice);//發出委托
}
VOID SKid() //建立kong頭倉位
{
T_Deal(F_DealCode(),1,0,1,Price+2*MinPrice);//發出委托
}IF(F_BuyPosition()>=0&&F_BuyPosition()<=3) 我認為這句話是控制開倉數量不大于3手的意思 可是為什么模擬中 實際開了5手出來
請問 我應該如何操作才能控制這個數量問題
- 贏順技術人員:
您是否是發出的委托單沒有成交形成掛單導致的?為了邏輯嚴謹在這個判斷之后加上&&T_IsNoOrder()==1
該算法交易模型無掛單(發出的所有委托都已經成交,或被撤單)。
用法:
T_IsNoOrder()如果沒有掛單返回1,否則返回0
例:
IF(T_IsNoOrder()) //如果沒有掛單
- 上一篇:關于優化數據
- 下一篇:為什么只有平倉而沒開倉呢?
相關文章
-
沒有相關內容