非模組合約成交后系統(tǒng)查到的持倉仍為0 [文華財經(jīng)]
- 咨詢內(nèi)容:
我做下面的例子來模擬此問題
1.創(chuàng)建一個模型名稱叫“測試”,內(nèi)容如下:
BK(1);
2.創(chuàng)建一個模組名稱也叫“測試”,內(nèi)容如下:
VOID MAIN()
{
VAR Code;//交易編碼
VAR bid1;//買價1
VAR SKN;//目標開倉數(shù)
VAR SKID;//賣開返回標識
VAR SKStatus;//開倉狀態(tài)
VAR SKTime;//提交時間
VAR DelStatus;
Code="ws0000";//任意合約
bid1=Offers(Code,"bid1");
SKN=1;
SKID=ReadGlobalStr("SKID");
SKTime=ReadGlobal("SKTime");
SKStatus=ReadGlobal("SKStatus");
IF(SKStatus==0&&T_SellPosition(Code)==0)//無持倉
{
SKStatus=1;
SKID=T_Deal(Code,1,0,SKN,bid1);//發(fā)出SKN手的賣開委托
WriteGlobalStr("SKID",SKID);
WriteGlobal("SKStatus",SKStatus);
WriteGlobal("SKTime",CurrentTime());
MessageOut(TimeToStr(CurrentTime())+","+Code+","+"SKID="+SKID+",申報數(shù)量="+SKN+",申報價格="+bid1+",賣開委托已提交!");
}
ELSE IF(SKStatus==1&&T_OrderMatchVol(SKID)==SKN)//已成交
{
// SKStatus=0;
// WriteGlobal("SKStatus",SKStatus);
MessageOut(TimeToStr(CurrentTime())+","+Code+","+"SKID="+SKID+","+"賣開已成交!");
MessageOut(TimeToStr(CurrentTime())+","+Code+",當前持倉:"+T_SellPosition(Code)+"手");
}
ELSE IF(T_OrderMatchVol(SKID)==0&&(CurrentTime()-SKTime>10))//賣開委托10秒未成交
{
DelStatus=T_DeleteOrder(SKID);//撤單
IF(DelStatus==0)
{
SKID=T_Deal(Code,1,0,SKN,bid1);//發(fā)出SKN手的賣開委托
WriteGlobalStr("SKID",SKID);
WriteGlobal("SKStatus",SKStatus);
WriteGlobal("SKTime",CurrentTime());
MessageOut(TimeToStr(CurrentTime())+","+Code+","+"SKID="+SKID+",申報數(shù)量="+SKN+",申報價格="+bid1+",賣開委托已撤單并重新提交!");
}
}
}3.創(chuàng)建一個群組,合約隨便,只要不是第2步中的【Code="ws0000";//任意合約】就行,加載此群組
下圖中可看出,合約"ws0000"已經(jīng)成交1手,可T_SellPosition(Code)返回值為0,請測試確認此問題,多謝!
- 文華技術(shù)人員:
此主題相關(guān)圖片如下:測試.jpg
- 文華客服:
您截圖的版本號是多少?是0823模擬版本嗎?
- 網(wǎng)友回復(fù):
就是我當前有的版本。
如果是在交易時間,將上述的Code="ws0000";隨便改成"rb1305"、"zn1305"之類,試試就能發(fā)現(xiàn)問題了。
- 網(wǎng)友回復(fù): 這個問題我們需要核實一下,有結(jié)果會及時在此跟帖的
有思路,想編寫各種指標公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 262069696 進行 有償 編寫!(不貴!點擊查看價格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容