k线生成模块

10 篇文章 2 订阅
订阅专栏

1、支持任意周期K线。

2、支持K线偏移。

3、支持指数、主力。

4、支持文华商品指数。

默认支持的是:5秒、1分钟、3分钟、5分钟、日线。

时间:2010年到现在。

数据如下:

5秒线,大宗商品指数(文华商品7186)

5秒线,工业品

1分钟,螺纹钢指数

 5分钟前偏移60秒,大宗商品指数,时间去除了‘:’。

代码比较复杂,贴上导出的库:

/*
libkline特性
1、支持任意周期K线。K线周期以秒为单位,大于总交易时间的都认为是日线。整个交易日期间不会因为
暂时停盘截断K线,例如:rb的交易时间是晚上21:00:00-23:00:00,白天9:00:00-10:15:00...
如果周期是7分钟(即420秒),对应的K线是21:07:00、21:14:00、...22:59:00、9:06:00、..
22:59:00-23:00:00的数据算到9:06:00那根K线上。
2、支持K线偏移。偏移量以秒为单位,支持正负值。同样以rb合约,7分钟周期为例。假如希望K线滞后
1分钟(即60秒),则偏移量为正数60,对应的K线是21:08:00、21:15:00、...23:00:00、
9:07:00、...。假如希望K线提前1分钟(即60秒),则偏移量为负数-60,对应K线是21:06:00、
21:13:00、...22:58:00、9:05:00、...。K线提前可能导致K线增多一根(最后)的情况。
3、K线自动补全。同样以rb合约,1分钟周期为例。如果第一个tick是21:01:01(该tick
应该是21:02:00这根K线),则按最新价补上21:01:00这根K线。如果相邻两个tick时间分别是
21:03:18和21:06:02,则会以21:03:18的数据补上21:05:00、21:06:00两根K线。
4、集合竞价凑入下个区间。例如:20:59:00的数据认为是21:00:00,8:59:00的数据认为是
9:00:00,只有夜盘和白盘开始前5分钟的数据才认为是集合竞价数据。
*/


#ifndef LIB_KLINE_H
#define LIB_KLINE_H

#ifdef LIBKLINE_EXPORTS
#define LIBKLINE_API __declspec(dllexport)
#else
#define LIBKLINE_API
#endif

#include "ThostFtdcUserApiStruct.h"
#include "user_define_struct.h"
#include <functional>
#include <string>
#include <vector>
#include <list>

#define COMMODITY_EXCHANGE "DZSPZS" //类别:大宗商品指数

typedef std::function<void(const SoffsetKline&,std::list<Skline>*)> lpGetKline;
typedef std::function<void(const char*,CThostFtdcDepthMarketDataField*)> lpGetIndex;
typedef std::function<void(const CThostFtdcDepthMarketDataField*)> lpGetShot;
typedef std::function<void(const SoffsetKline&, std::list<Skline>*)> lpTrig;
typedef std::function<void(const char*, std::list<CThostFtdcDepthMarketDataField>*)> lpGetIndexTick;
typedef std::function<void(const char*, double, CThostFtdcDepthMarketDataField*)> lpCommodityInfo;
typedef std::function<void(const char*)> lpErrMsg;

class LIBKLINE_API libkline
{
public:
    libkline();
    ~libkline();
    
    //重置内部数据
    void Reset(lpErrMsg lp = nullptr);
    //错误信息回调
    void SetErrMsg(lpErrMsg lp = nullptr);

    ///共有属性及回调
    //设置交易日
    void SetTradingDay(const char* pTradingDay, const char* pPreTradingDay);

    //设置K线周期
    void SetCycle(std::vector<int> vecCycle);

    //启用K线偏移
    //bHold:是否独占周期 true则该品种SetCycle置入的周期不起作用
    void SetOffsetCycle(const SoffsetKline& ok, bool bHold);

    //K线更新触发
    void SetUpdateTrig(const SoffsetKline& ok, lpTrig p);

    //K线生成触发
    void SetNewTrig(const SoffsetKline& ok, lpTrig p);

    //设置K线,覆盖式
    void SetKline(const SoffsetKline& ok, std::list<Skline>& listKline);

    //处理历史数据
    //大宗商品指数需要依赖基本指数,一旦启用则缓存排序后再处理
    void SetDealHistoryData(bool b);

    //是否处理完前tick
    bool IsDealPreTick();

    //是否在运行
    bool IsRunning();

    ///多商品指数
    //需要订阅组成品种的所有可交易合约
    void SetCommodity(const char* name, const char* abbreviation, int nMultiply, std::vector<SinstrumentProperty>& vec);
    
    //设置初始价格
    void SetOriginalPrice(const char* abbreviation, const char* pCode, CThostFtdcDepthMarketDataField& last_data, double dPrice);
    
    //获取商品指数的乘数 0:代表未找到该品种
    int GetCommodityMultiply(const char* abbreviation);

    //获取新增的指数的初始价格
    void GetCommodityInfo(lpCommodityInfo lp);

    ///单商品
    //添加合约属性
    void AddVariety(const SinstrumentProperty* p);

    //设置指数表
    bool SetIndexTable(const char* pProductID, CThostFtdcDepthMarketDataField& field);

    //设置主力
    bool SetMainCode(const char* pProductID, const char* pMainCode);
    
    //压入实时tick数据
    void PushTick(CThostFtdcDepthMarketDataField* pData);
    
    //运行
    void Run();

    //强行停止,缓存的数据都不处理了,立刻退出
    void ForceStop();

    //安全停止,将缓存的数据都处理完毕,在退出
    void SafeStop();

    //释放资源
    void Release();

    //获取K线
    //bAll:是否请求所有,如果true,则pInstrumentID和nCycle失效
    void GetKline(lpGetKline lp, SoffsetKline* p, bool bAll = false);

    //获取指数表
    //pProductID:rb 空则返回所有
    void GetIndex(lpGetIndex lp, const char* pProductID = nullptr);

    //获取快照
    //pExchangeID:SHFE 空则返回所有
    void GetShot(lpGetShot lp, const char* pExchangeID = nullptr);

    //获取指数tick
    void GetIndexTick(lpGetIndexTick lp, const char* pInstrumentID = nullptr);

    //收缩偏移K线
    void ShrinkOffsetKline(const SoffsetKline& ok, std::list<Skline>& targetKline,
        int nThisCycle, std::list<Skline>& thisKline);

    //校验偏移k线的最后日期时间
    void VerifyOffsetKline(const SoffsetKline& ok, Skline& lastKline);

protected:
    void* pObj;
};

#endif//LIB_KLINE_H

博客
量化高频交易从0到1(期货CTP,纳秒级,高频、趋势及套利策略)课程大纲
12-18 1258
本课程从0到1实现1套可实盘交易的ctp量化交易系统,适合量化交易小白用户。
博客
回测分析软件
06-29 4333
多策略回测软件,主要功能:1、支持任何周期和偏移K线。2、支持隐射方式交易,如果交易合约是主力,则会自动换月。回测可以并发执行,耗时很小。分析软件,海量策略同时分析,主要功能如下:1、按时间区间分析。2、按固定资金分析,或者按固定手数分析。3、根据信号出资金曲线和指标,速度特别快。4、根据数据波动精细分析,可以更直观看出浮盈和浮亏。5、分析可以增加滑点和扣除手续费。6、指标详细,并且有排序功能,便于比较。...
博客
量化交易平台
06-29 1882
配置好每个策略需要用到数据等信息。请求数据中转向服务器同步k线,按照要求,需要重启则重启一次(只有出现未定义的k线才可能需要重新启动,重启之后都会提供该种k线,以后不需要重启)。交易平台可以连homes平台进行交易,也可以直接连ctp交易。...
博客
量化策略框架
06-29 265
为了降低耦合度,策略以如下模板生成动态库,供交易平台动态调用。#ifndef MA_STRATEGY_DLL_EXPORTS#define MA_STRATEGY_DLL_EXPORTS#endif#ifdef MA_STRATEGY_DLL_EXPORTS#define MA_STRATEGY_DLL_API __declspec(dllexport)#else#define MA_STRATEGY_DLL_API __declspec(dllimport)#endif#in
博客
期货homes平台以及仿ctp接口
06-29 502
实盘账户或者模拟账户可以下挂多个子账户子账户也可以是homes母账户,理论上可以一层一层套下去。所有交易细节全部保存,收盘定时结算。功能很强大,并且还有很多拓展空间。连接homes平台,需要用到仿ctp交易接口,声明和ctp一模一样,贴上核心代码:#pragma once#include <ascs/ext/tcp.h>#include <ascs/tcp/client_socket.h>#include <ascs/service...
博客
k线中转器
06-29 159
自动同步服务器k线,将交易日k线存入共享内存,交易平台直接去共享内存取想要的数据。默认提供期货1、3、5分钟、日线数据。如果想要自定义,可以通过copydata向它发送请求,可以提供任何周期,任何偏移的k线。...
博客
期货数据服务器以及取数据接口
06-29 1149
期货数据服务器使用期货、期权tick数据接收软件在共享内存中提供的tick数据,实时生成k线,并且给客户端提供无缝数据服务。功能如下:1、合约属性。2、合约指数表。3、合约主力表。4、可交易合约。5、交易日。6、大宗商品指数。7、指数原始价格。8、常规K线。9、tick数据同步。10、K线校验。服务器基于boost::asio,支持自动重连、自动分包粘包。贴下数据接口代码:#pragma once#if defined(ISLIB)#defi
博客
k线、指标绘制
06-29 1805
我接触的绘制有两种:gdi+和qt绘图。可以灵活的绘制任何想要的东西。先上效果图吧。如下:基于gdi+的股指和股票的绘制。上面是沪深成分股实时生成的股票指数走势,下面是IF主力走势和开平仓位置。如下,基于qt绘图的期货数据显示,模仿的博易大师。现在贴上代码:1、gdi+​​#pragma once#include <comdef.h>#include <GdiPlus.h>#include <Windows.h>#inc
博客
期货、期权tick数据接收工具
06-29 1310
功能:1、开启之后,7*24自动运行。2、在共享内存中存放当个交易日的tick数据,方便随时取用。3、支持多行情源取数据。经过测试一个行情源峰值带宽要求为20M,所以使用时要配合带宽限制。4、夜盘结束时输出一下tick数据,白盘结束时输出所有tick。5、支持查询指令:运行时如下:代码 1 2 3 4 5 6 7 8 9 10 11 12 13 .
博客
C++ 资源大全中文版
06-29 435
标准库C++标准库,包括了STL容器,算法和函数等。C++ Standard Library:是一系列类和函数的集合,使用核心语言编写,也是C++ISO自身标准的一部分。 Standard Template Library:标准模板库 C POSIX library : POSIX系统的C标准库规范 ISO C++ Standards Committee :C++标准委员会C++通用框架和库Apache C++ Standard Library:是一系列算法,容器,迭代器和其他基本组件的
写文章

热门文章

  • 回测分析软件 4333
  • 量化交易平台 1882
  • k线、指标绘制 1805
  • 期货、期权tick数据接收工具 1310
  • 量化高频交易从0到1(期货CTP,纳秒级,高频、趋势及套利策略)课程大纲 1257

分类专栏

  • 高频交易 1篇
  • 期货ctp 10篇
  • c学习 1篇

最新评论

  • 回测分析软件

    easyrider669: 哪里下载啊

大家在看

  • SD 3.5发布:Stability AI的反击,Flux的王位还稳吗?
  • Springboot计算机毕业设计滁州市电动车牌照管理系统cfc49
  • Java项目-基于springboot框架的线上买菜系统项目实战(附源码+文档) 318
  • 攻防演练蓝队主要工作内容(非常详细),零基础入门到精通,看这一篇就够了_网络安全攻防前期工作内容
  • 1024程序员节——我的程序员之路,Passion

最新文章

  • 量化高频交易从0到1(期货CTP,纳秒级,高频、趋势及套利策略)课程大纲
  • 回测分析软件
  • 量化交易平台
2022年1篇
2021年10篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家玻璃钢雕塑制药系列秋季商场美陈有哪些玻璃钢雕塑的步骤商场美陈玻璃围栏动物玻璃钢雕塑供应商东莞玻璃钢卡通雕塑云南铜玻璃钢仿铜雕塑上海玻璃钢雕塑喷漆翻新珠海茂名玻璃钢动物雕塑玻璃钢艺术雕塑报价上饶特色玻璃钢雕塑销售电话襄阳户外玻璃钢雕塑价格上海市玻璃钢雕塑加工太原景区玻璃钢雕塑生产厂家商场美陈灯饰画厂家山东生产玻璃钢雕塑厂家价格许昌哪里有玻璃钢景观雕塑定制商场玻璃钢卡通雕塑代理价格商洛玻璃钢关公雕塑定制玻璃钢雕塑物流郑州镜面玻璃钢彩绘雕塑价格鹤壁锻铜玻璃钢卡通雕塑公司榆树玻璃钢雕塑工程电话多少公园古铜玻璃钢雕塑惠州博罗玻璃钢雕塑企业浙江超市商场美陈研发玻璃钢雕塑专业用语混凝土雕塑和玻璃钢雕塑楚雄玻璃钢花盆河北高质量玻璃钢雕塑市场香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化