CTP 期货交易与MT4/5 (一)

CTP 期货交易

期货账户

要连接期货交易所交易,需要开设自己的账户,实现期货交易、银期转账、保证金等功能,

一般开始不会用实盘资金交易,所以此处推荐用上期所提供的simnow虚拟交易平台simnow申请一个虚拟账户。


SIMNOW提供两类数据前置地址:

(1)交易时段的地址,如09:00-15:00和21:00-02:30,使用第一套地址,这些数据是真实的行情数据,只是时间上比真实的行情会有延迟30秒左右(SIMNOW从交易所接收后转发出来的)。

(2)非交易时段地址,这时的数据是历史行情的播放,比如昨天的数据之类的,可以用来做程序调试。


建议选择申请那个7x24行情的账户,便于开发调试。


CTP开发分为两个阶段


首先开发行情接入模块,行情引入是展现的基础


首先行情


又分为MT5 API接口和CTP API接口的


CTP 行情 无需用户,密码,


只需要前置机的地址端口,和broketid即可


simnow 的行情前置的地址:"tcp://180.168.146.187:10010"

TThostFtdcBrokerIDType gBrokerID = "9999"


行情类需要继承自 CThostFtdcMdApi 类; 


在实现了登陆后


需要订阅期货品种


  1.   int rt = g_pMdUserApi->SubscribeMarketData(g_pInstrumentID, instrumentNum);  
  2.         if (!rt)  
  3.             std::cout << ">>>>>>发送订阅行情请求成功" << std::endl;  
  4.         else  
  5.             std::cerr << "--->>>发送订阅行情请求失败" << std::endl;

订阅成功后,


需要在重载函数中 解析相关行情信息


  1. // 订阅行情应答  
  2. void CustomMdSpi::OnRspSubMarketData(  
  3.     CThostFtdcSpecificInstrumentField *pSpecificInstrument,   
  4.     CThostFtdcRspInfoField *pRspInfo,   
  5.     int nRequestID,   
  6.     bool bIsLast)  
  7. {  
  8. }


  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!对于CTP期货交易,您可以使用Python编程语言进行开发。CTP(中国金融期货交易所)是国内常用的期货交易接口之一,可以通过它来进行期货交易。 在Python中,您可以使用CTP官方提供的API接口进行开发。首先,您需要下载并安装CTP的API。然后,您可以使用Python编写代码调用API来连接到CTP服务器,并进行相关的交易操作。 以下是一个简单的示例代码,演示了如何使用Python进行CTP期货交易: ```python from time import sleep from ctypes import * from threading import Thread # 加载CTP动态链接库 ctp = cdll.LoadLibrary('thosttraderapi_se.dll') class MyTrader: def __init__(self): self.api = ctp.CThostFtdcTraderApi_CreateFtdcTraderApi() self.api.RegisterSpi(self) # 设置服务器信息等 self.api.RegisterFront("tcp://xxx.xxx.xxx.xxx:xxxx") self.api.Init() # 实现相关回调函数 def OnFrontConnected(self): print("已连接到服务器") # 登录账户 req = ctp.CThostFtdcReqUserLoginField() # 设置账户信息等 self.api.ReqUserLogin(req, 0) # 其他回调函数... # 实现具体的交易逻辑 def do_trade(self): # 下单逻辑... pass if __name__ == '__main__': trader = MyTrader() # 创建交易对象 Thread(target=ctp.CThostFtdcTraderApi_Init, args=(trader.api,)).start() # 在新线程中初始化API sleep(1) # 等待API初始化完成 trader.do_trade() # 执行交易逻辑 ``` 在上述代码中,您需要根据您自己的账户信息和服务器地址进行相应的设置。然后,您可以根据需要实现各种回调函数和交易逻辑。 请注意,上述代码仅为示例,实际使用时可能需要根据具体情况进行适当的修改和完善。同时,为了保证交易的稳定性和安全性,建议您在实际应用中进行充分的测试和验证。 希望以上信息能对您有所帮助!如果您还有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值