赞
踩
OpenOrder提供了策略框架,简单的策略只需要继承strat::Instance类,定义load(初始化策略、订阅行情),onData(处理行情数据)即可。对接CTP通道,只需要在json配置文件中添加配置项。
- class Instance
- {
- public:
- Instance(ContextPtr context) : context_(context){};
- virtual std::string globalUniqueName() PURE;
- virtual int load(const std::string& jsonContent = "") PURE;
- virtual void onData(int32_t dataType, const char* data,
- size_t datasiz) PURE;
- virtual void onExecStarted(const trade::TransactionPtr& transaction){};
- virtual void onExecSnapshot(const trade::TransactionPtr& transaction,
- OROrderFieldPtr order){};
- virtual void onExecSnapshot(const trade::TransactionPtr& transaction,
- ORTradeFieldPtr trade){};
- virtual void onExecFinished(const trade::TransactionPtr& transaction){};
- virtual or_limitprice_f
- updateOrderPrice(const trade::OrderPackInfoPtr& orderPack,
- const trade::TransactionPtr& transaction,
- bool clearCounter)
- {
- return orderPack->limitPrice();
- }
- virtual void onUnload(std::string& reason){};
-
- protected:
- /// 目前统一使用该对象直接访问Context。
- ContextPtr context_;
- };

使用OpenOrder,你只需要在json配置文件中添加如下内容即可在策略中使用:
- {
- "is_active": 1,
- "channel_id": 10001,
- "channel_type": "2",
- "type_info": "CTP",
- "type_name": "CTP_SE",
- "unique_name&
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。