開拓者交易函數(shù)問題 a_sendorder封裝的buy和sell函數(shù)
作者:開拓者 TB 來源:cxh99.com 發(fā)布時間:2012年10月12日
- 咨詢內(nèi)容: 上周發(fā)現(xiàn)交易部分的函數(shù)出了問題后,就停止了交易,然后下功夫研究,解決問題,做了很多測試,現(xiàn)在終于把問題解決了。問題出在交易函數(shù)上,交易函數(shù)是指將交易指令發(fā)送到交易服務(wù)器或處理交易服務(wù)器返回信息的的函數(shù),主要完成下單、撤單、成交查詢、持倉查詢和成交回報(bào)處理等,開拓者提供兩種交易函數(shù),一種是開拓者對a_sendorder封裝的buy和sell函數(shù),另一種則是比較底層的發(fā)單指令由a_sendorder來實(shí)現(xiàn)。使用開拓者封裝的函數(shù)buy和sell來交易,其實(shí)是有問題的,有時候你使用buy和sell并不能得到你想要的結(jié)果,我的問題就出在這里,buy和sell處理的持倉量是對圖標(biāo)里面的持倉量,而不是真實(shí)賬戶的持倉量,如果設(shè)置資金量和真實(shí)賬戶資金量不一致,持倉量不一致,就出大問題了。開拓者設(shè)計(jì)真的太不完善了,讓普通投資望而卻步。
現(xiàn)在做了快半個多月的程序化交易,有些感受。感覺開拓者這個軟件本身定位就比較高端,技術(shù)高端,起點(diǎn)高端。想法是好的,可惜人力和財(cái)力不夠,導(dǎo)致這個軟件做的太不成熟了,穩(wěn)定性差,運(yùn)行容易崩潰,常常斷線。其次是編程手冊及函數(shù)的介紹太簡單,缺乏人力編寫使用手冊,很多函數(shù)的功能包括返回值都沒有明確說明和示例,看看微軟看看msdn,一個msdn就要裝幾個G到幾十G。其實(shí)開拓者這樣只會導(dǎo)致沒有編程經(jīng)驗(yàn)的用戶在困難之時選擇放棄。沒有編程經(jīng)驗(yàn)的用戶,真的不建議使用這個平臺,因?yàn)殚_拓者有時候出的問題,你都不知道是自己的程序錯了,還是軟件本身出錯了。
比如,開拓者用戶手冊中介紹到barstatus!=2時,buy sell指令是不發(fā)送委托單的,但事實(shí)上只這樣的嗎?不是,我在實(shí)際測試中,發(fā)現(xiàn)不是。開始出這個問題,我很迷茫,不知道問題在那里,反復(fù)思考,反復(fù)測試,一點(diǎn)點(diǎn)排查,最終定位到barstatus!=2時在倒數(shù)第二個bar上也依然會發(fā)委托單的,我把這個測試結(jié)果和開拓者軟件工程師交流,他們都不信,依然堅(jiān)持說barstatuse!=2時是不會發(fā)委托單的,說問題肯定是出在我的程序身上,讓我好好找找自己的問題。我無奈!!!直至我一點(diǎn)點(diǎn)的證明給他們看時,他們才說“可能需要考慮倒數(shù)第二個bar的情況,這個地方需要做個特殊處理”,這樣一句話,卻耗費(fèi)了3天時間,我想沒有程序開發(fā)經(jīng)驗(yàn)的交易員恐怕就倒在這個地方了,這樣的問題很多,道路還很漫長,我得一點(diǎn)點(diǎn)的來,慢慢的上路,希望TB不要在讓我傷心失望了。
- TB技術(shù)人員: "我的問題就出在這里,buy和sell處理的持倉量是對圖標(biāo)里面的持倉量,而不是真實(shí)賬戶的持倉量,如果設(shè)置資金量和真實(shí)賬戶資金量不一致,持倉量不一致,就出大問題了。"1~這個不是TB的問題,buy和sell處理的持倉量就應(yīng)當(dāng)是圖表里的持倉量,否則策略就無法回測,多策略或手動和自動同時進(jìn)行一個品種交易會出現(xiàn)倉位“共振”等等問題2~“barstatus!=2”設(shè)計(jì)原理上應(yīng)當(dāng)不會發(fā)委托單,否則的話歷史信號都會發(fā)現(xiàn)來就完了,除非是BUG。
3~“現(xiàn)在做了快半個多月的程序化交易,有些感受。感覺開拓者這個軟件本身定位就比較高端,技術(shù)高端,起點(diǎn)高端。想法是好的,可惜人力和財(cái)力不夠,導(dǎo)致這個軟件做的太不成熟了,穩(wěn)定性差,運(yùn)行容易崩潰,常常斷線。”支持!
- TB客服:
原帖由 ilian 于 2010-4-19 01:01 發(fā)表
"我的問題就出在這里,buy和sell處理的持倉量是對圖標(biāo)里面的持倉量,而不是真實(shí)賬戶的持倉量,如果設(shè)置資金量和真實(shí)賬戶資金量不一致,持倉量不一致,就出大問題了。"1~這個不是TB的問題,buy和sell處理的持倉量就應(yīng)當(dāng)是圖表里的 ...
1。這點(diǎn)是的,不是TB的錯,但使用手冊中和用戶函數(shù)說明都沒有解釋清楚,只有調(diào)試才知道buy和sell是對圖表操作,這個是Tb的問題,資料介紹太少。
2。歷史回測中不會發(fā)現(xiàn)這個問題,只會在是盤中且秒級別線上,問題最多,你可以試試。
- 網(wǎng)友回復(fù): 都要嚴(yán)謹(jǐn)一點(diǎn)面對問題才行。
不能武斷,上來就說不可能,不會等等這樣不負(fù)責(zé)任的話。
還是那句話,做程序要嚴(yán)謹(jǐn)!
回復(fù) 1# brucecolvin 的帖子
- 網(wǎng)友回復(fù): 確實(shí)有些問題,關(guān)于sell 和buytocover 這個兩個函數(shù),確實(shí)是只能平倉圖標(biāo)上面的,而在賬戶里的 都平不掉。這點(diǎn)應(yīng)該怎么搞。?
|