Order開多單有反應(yīng),開空單卻沒有,奇怪! [金字塔]
- 咨詢內(nèi)容:
Call Order.Buy(1,1,0,0,"IF07","ZJ","",0) '市價開多單
Call Order.BuyShort(1,1,0,0,"IF07","ZJ","",0) '市價開空單
這兩個指令,一個是開多單,一個是開空單,使用CTP平臺,開多單指令正常執(zhí)行,非交易時間可以看到“該席位未處于交易狀態(tài)”,開空單指令卻沒有反應(yīng),交易時間開多單每次都能執(zhí)行,開空單卻經(jīng)常不執(zhí)行。
同樣的代碼,在模擬賬戶下,都可以執(zhí)行,交易狀態(tài)都有提示,實在是令人費解。
這段代碼使用了好長時間了,我都沒有發(fā)現(xiàn)這個問題,這兩天才發(fā)現(xiàn)的。
不知道是不是金字塔程序升級后留下的問題?
另外:CTP賬號下,訂單狀態(tài)和模擬賬號也不相同,主要是Aspect和Kaiping這兩個返回值,不同平臺返回的值不一樣,對于做VBA后臺交易,要判斷持倉變化情況,經(jīng)常在某一個平臺可以使用的代碼,到了另一個平臺就出現(xiàn)問題,程序并不出錯,可是結(jié)果不對。
建議:將CTP、金士達、IB不同的賬號交易時返回的結(jié)果統(tǒng)一一下,以便于做VBA后臺交易。
- 金字塔客服:
建義打開下單日志,看看BuyShort指令是否已經(jīng)發(fā)送到服務(wù)器
Aspect和Kaiping這兩個返回值應(yīng)該是一樣的吧,你看到哪些地方不一樣了?
- 用戶回復(fù):
VBA后臺交易哪有下單日志呢,從交易狀態(tài)小窗口就可以看到,沒有發(fā)送到服務(wù)器的。
多單就發(fā)送了。我在開空單的指令前后分別放上Application.msgout指令顯示信息,都顯示了,說明指令是執(zhí)行了,可是就不送到服務(wù)器。
Aspect返回的值是統(tǒng)一的,就是Kaiping的值,不同的平臺不一樣。
模擬賬號平倉時,kaiping在兩條記錄里分別有2、3兩個值,而在Ctp平臺下,平昨為1,平今為2,IB平臺我沒有賬號,沒有測試。
Status返回值也不相同,模擬賬號上返回submitted,filled,CTP上返回submitted,filled,tradeing.
同樣的代碼,在股指上可以正常提取持倉信息,而在RB上,平倉之后持倉信息不會更新,需要再次單擊刷新持倉才可以。
搞得人都要瘋了。
- 網(wǎng)友回復(fù):
今天用
Call Order.BuyShort(1,1,0,0,"IF07","ZJ","",0) '市價開空單
單獨這一條語句測試,沒有出現(xiàn)過異常
- 網(wǎng)友回復(fù):
不知道什么時候出現(xiàn)問題,經(jīng)常是你要測試的時候,好用,可是用于實盤就掉鏈子,我是用VBA做的管理持倉的,比如:設(shè)定好回撤3點止盈,可是有時能執(zhí)行,有時不能執(zhí)行,導(dǎo)致我該賺到的錢沒有賺到。
相關(guān)文章
-
沒有相關(guān)內(nèi)容