CTP的程式化交易系統開發

2021-09-10 04:18:13 字數 1597 閱讀 6293

很多人在綜合交易平台(ctp)的api開放後,開始編寫程式化交易系統。先解讀ctp的介面說明:ctp的api使用建立在tcp協議之上ftd協議與交易託管系統進行通訊,而負責投資者交易業務處理的則是交易託管系統。ftd 協議中規定了所有的通訊都基於某一種通訊模式。

ctp的交易api提供了兩個介面:

1.cthostftdctraderapi,我們開發的交易系統通過它向ctp傳送操作請求;

2.cthostftdctraderspi,通過它接收ctp的任何響應。

主要業務舉例如下:

**涉及兩種通訊模式:

1.廣播通訊模式:主要是**訂閱,交易所端在**訂閱後,將主動連續向會員發出**資訊;

2.對話通訊模式:由會員端主動發起的通訊請求。請求被交易所端接收和處理,並給予響應。

我們可以通過ctp提供的介面向ctp傳送業務申請,也不斷的按照三種通訊模式中的其中一種接收ctp的響應。所以,至少應該有兩個執行緒在我們所寫的交易系統中:1.負責對ctp發出業務申請的主業務執行緒;2.負責接收ctp通過三種通訊模式中的其中一種對交易系統響應的api工作執行緒。

綜上所述,程式化交易系統需要完成的業務可分為:1.基本操作;2.**操作;3.訂單操作;4.資料監聽和處理操作。而我的建議是,將程式化交易系統分為四個執行緒來分別處理以上業務。其它三個執行緒工作關係如下圖所示:

程式化交易系統在開發過程中,要特別注意處理很多棘手問題,比如,資料處理造成的網路丟包或執行緒互斥等,因其就是乙個複雜的多執行緒網路程式。

由上海**資訊科技****開發的ctp交易介面,提供c++的介面,c++的demo版本在網上有很多可直接使用。

需要在simnow上註冊ctp開發中要使用的模擬賬號,brokerid為9999,賬號即investorid,密碼為simnow的登陸密碼。

2.simnow提供兩類資料:

執行後的情況:

在mdspi.cpp中,可以將接收到的資料儲存到本地

,主要是修改marketfront、brokerid、tradefront、個人**賬號和密碼即可。

可以加qq379305007交流

基於CTP的程式化交易系統開發

自從綜合交易平台 ctp 的api開放以來,很多人開始編寫自己的程式化交易系統,今天我想說說自己的一些看法。首先解讀一下ctp的介面說明,ctp的api使用建立在tcp協議之上ftd協議 交易資料交換協議 與交易託管系統進行通訊,而交易託管系統負責投資者的交易業務處理。ftd 協議中規定了所有的通訊...

基於CTP的程式化交易系統開發(一)

自從綜合交易平台 ctp 的 api開放以來,很多人開始編寫自己的程式化交易系統,今天我想說說自己的一些看法。首先解讀一下 ctp的介面說明,ctp的 api使用建立在 tcp協議之上 ftd協議 交易資料交換協議 與交易託管系統進行通訊,而交易託管系統負責投資者的交易業務處理。ftd 協議中規定了...

CTP程式化系統開發(C PHP)

2016 12 13 11 03 52 借助ctp的demo 上海 交易公司提供的 需要自己在 上註冊賬號,c 網路程式設計socket的例子 php網路程式設計socket的demo 順帶了解下swoole的使用,但開發中,不必用swoole或workerman 移植到linux系統下,需要用到 ...