基于MT4平台通过CTP操作期货(一) -- 行情

通过MT4平台来由ctp接口操作期货,首先需要处理好商品和行情

1.期货商品品种

由于期货商品代号会随着时间变化,且商品品种较多,手动维护商品的话太繁琐。比较简单的处理方式
是做一个服务端的插件,在插件的启动事件

int APIENTRY MtSrvStartup(CServerInterface *server)

去检查并新增商品代号
这里主要用到了MT4接口的这两个个方法,取商品信息和新增商品

int         __stdcall SymbolsGet(LPCSTR symbol,ConSymbol *security);
int         __stdcall SymbolsAdd(ConSymbol *sec);

期货的品种种类是相对固定的,变化的只是月份,所以可以考虑常量定义相关种类,也可以考虑直接从四大期货的网站去爬。
我是直接用常量定义种类,然后根据当前月份计算目前的期货品种。

SymbolDefine Defines[SYMBOL_DEF_COUNT] = {
    //中国金融期货交易所 CFFEX
    { "沪深300", "IF", 1, 1, {
  0}, 0},//当月、下月及随后两个季月(如当前为3月,则为4","5","6","9}},
    { "上证50", "IH", 1, 1, {
  0}, 0},//当月、下月及随后两个季月
    { "中证500", "IC", 1, 1, {
  0}, 0},//当月、下月及随后两个季月
    { "5年期国债", "TF", 3, 2, {
  0}, 0},//最近的三个季月(3月、6月、9月、12月中的最近三个月循环)(当前为3月 则为6","9","12}},
    { "10年期国债", "T", 3, 2, {
  0}, 0},//最近的三个季月(3月、6月、9月、12月中的最近三个月循环)
    //上海期货交易所  SHFE
    { "铜", "cu", 0, 0, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12 }, 1},
    { "铝", "al", 0, 0, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12 }, 1},
    { "锌", "zn", 0, 0, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12 }, 1},
    { "铅", "pb", 0, 0, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12 }, 1},
    { "镍", "ni", 0, 0, { 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12 }, 1},
    { "锡", "sn", 0, 0, { 1, 2, 3, 4, 5, 6, 
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值