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