• CTP API开发之一:CTP API简介


    官网下载CTP API

    综合交易平台CTP(Comprehensive Transaction Platform)是由上海期货信息技术有限公司(上海期货交易所的全资子公司)开发的期货交易平台,CTP平台以"新一代交易所系统"的核心技术为基础,稳定、高速、开放式接口,适合程序化交易软件运用和短线炒单客户使用。官网:http://www.sfit.com.cn

    API接口文件清单:

    整个开发包有2个核心头文件包括4个核心接口
    CThostFtdcMdApi接口和CThostFtdcTraderApi两个头文件,一个处理行情,一个处理交易

    (1)处理行情的CThostFtdcMdApi接口有两个类,分别是CThostFtdcMdApi和CThostFtdcMdSpi,以Api结尾的是用来下命令的,以Spi结尾的是用来响应命令的回调。
    (2)处理交易的CThostFtdcTraderApi接口也有两个类,分别是CThostFtdcTraderApi和CThostFtdcTraderSpi,  通过CThostFtdcTraderApi向CTP发送操作请求,通过CThostFtdcTraderSpi接收CTP的操作响应。

    API命名规则:

    CTP是基于多线程的,至少有两个线程在工作,一个是程序主线程,另一个是API工作线程。

    API底层封装了TCP通讯,通过函数回调来使用API接口。

    CTP的API封装分为两大部分,一个是TraderApi(thosttraderapi.dll)负责交易部分,另一个是MdUserApi(thostmduserapi.dll)负责行情部分,

    交易接口初始化步骤:

    // 初始化交易线程
        cout << "初始化交易..." << endl;
        g_pTradeUserApi = CThostFtdcTraderApi::CreateFtdcTraderApi(); // 创建交易实例
        CtpTradeSpi *pTradeSpi = new CtpTradeSpi;               // 创建交易回调实例
        g_pTradeUserApi->RegisterSpi(pTradeSpi);                      // 注册事件类
        g_pTradeUserApi->SubscribePublicTopic(THOST_TERT_RESTART);    // 订阅公共流
        g_pTradeUserApi->SubscribePrivateTopic(THOST_TERT_RESTART);   // 订阅私有流
        g_pTradeUserApi->RegisterFront(gTradeFrontAddr);              // 设置交易前置地址
        g_pTradeUserApi->Init();                                      // 连接运行

    行情接口初始化步骤:

    // 初始化行情线程
        cout << "初始化行情..." << endl;
        g_pMdUserApi = CThostFtdcMdApi::CreateFtdcMdApi();   // 创建行情实例
        CThostFtdcMdSpi *pMdUserSpi = new CtpMdSpi;       // 创建行情回调实例
        g_pMdUserApi->RegisterSpi(pMdUserSpi);               // 注册事件类
        g_pMdUserApi->RegisterFront(gMdFrontAddr);           // 设置行情前置地址
        g_pMdUserApi->Init();                                // 连接运行

    初始化过程:

    报单时序图:

  • 相关阅读:
    PTA(Advanced Level)1037.Magic Coupon
    PTA(Advanced Level)1033.To Fill or Not to Fill
    PTA(Basic Level)1020.月饼
    PTA(Advanced Level)1048.Find Coins
    PTA(Advanced Level)1050.String Subtraction
    PTA(Advanced Level)1041.Be Unique
    PTA(Basci Level)1043.输出PATest
    PTA(Basic Level)1039.到底买不买
    PTA(Basic Level)1033.旧键盘打字
    PTA(Advanced Level)1083.List Grades
  • 原文地址:https://www.cnblogs.com/anyun/p/9266568.html
Copyright © 2020-2023  润新知