龙听期货论坛's Archiver

龙听 发表于 2024-11-24 17:09

C++程序化/量化学习视频教程系列 第013节:C语言结构(C++结构体struct)相关知识及鼎元量化软件中蜡烛图线(K线,TKvalue),tick线数据结构说明

C++程序化/量化学习视频教程系列 第013节:C语言结构(C++结构体struct)相关知识及鼎元量化软件中蜡烛图线(K线,TKvalue),tick线数据结构说明

[mp4]http://mp4.qhlt.club/Cpp-Video/013.mp4[/mp4]

C++程序化学习视频教程系列安排如下:
第一楼:教学视频。一般控制在15分钟左右;
第二椄:视频课程中使用的程式源码。
第三楼:视频教学中需要用到的一些文档或资源。
第四楼:其它的一些边角料,特别是一些经典程序化策略的回测类的部分会放到下面楼层里面。

参与模式如下:
1、希望参与到编写策略与调试方面的工作通过上面的联系方式联系管理员咨询即可。记的加群,有问题第一时间交流,也可以在论坛指定版发贴交流,专用版地址:[url=http://www.qhlt.cn/forum-244-1.html]http://www.qhlt.cn/forum-244-1.html[/url];
2、有意申请试用及绑定期货账户跑实盘网友可以联系管理员,以及开通的方式。
3、基于C++策略交易软件具有:1、软件小(50兆不到);2、效率高(C++语言);3、功能精(专注于策略);4、对服务噐或电脑兼容性好(WIN系统)等优势,特别适合长期跑程序化的客户朋友,特别是有稳定交易模式客户更适合使用C++构建的交易系统。
4、最全的C++期货程序化(量化)教程、视频、源码、课件、资源汇总贴【C++期货程序化/量化研究必备资源贴!】:[url]http://www.qhlt.cn/thread-160231-1-1.html[/url];
5、鼎元C++量化程式码技术指标源码C++版模板【建议在test.h和test.cpp中同步至最新,方便统一调用和使用,一次编辑多次使用!】:[url]http://www.qhlt.cn/thread-160230-1-1.html[/url];
6、如何使用鼎元C++量化软件以及需要准备的些什么?[C++量化入门必读!]:[url]http://www.qhlt.cn/thread-160415-1-1.html[/url];

联系方式:
C++微信群:[img=180,180]http://p.algo2.net/2024/0922/23852f86ccf81.png[/img]  QQ群:[img=140,180]http://p.algo2.net/2024/0115/3c6af4df957c3.jpg[/img] 管理员微信:[img]http://www.qhlt.cn/link/wx.png[/img];管理员QQ:[img]http://www.qhlt.cn/link/q.png[/img]

龙听 发表于 2024-11-24 17:13

C语言结构(C++结构体struct)相关知识

C构体优点:

    简单数据封装:适合封装多种类型的简单数据,通常用于数据的存储。
    轻量级:相比 class,结构体语法更简洁,适合小型数据对象。
    面向对象支持:支持构造函数、成员函数和访问权限控制,可以实现面向对象的设计。/C++ 数组允许定义可存储相同类型数据项的变量,但是结构是 C++ 中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。

范例:[code]#include <iostream>
#include <vector>
#include <map>
#include <cstring>
using namespace std;

struct books
{
        char title[50];
        char author[50];
        char subject[100];
        int book_id;
};

int main()
{
        books book1;
        books book2;
//book1信息
        strcpy_s(book1.title, "C++教程");
        strcpy_s(book1.author, "run");
        strcpy_s(book1.subject, "编程语言");
        book1.book_id = 12345;
//book2信息
        strcpy_s(book2.title, "CSS教程");
        strcpy_s(book2.author, "run");
        strcpy_s(book2.subject, "前端技术");
        book2.book_id = 12346;
       
        cout << book1.book_id << endl;

        return 0;
}[/code]**** Hidden Message *****

龙听 发表于 2024-11-24 17:15

鼎元C++软件中tick结构体[code]///深度行情
struct CThostFtdcDepthMarketDataField
{
        ///交易日
        TThostFtdcDateType        TradingDay;
        ///合约代码
        TThostFtdcInstrumentIDType        InstrumentID;
        ///交易所代码
        TThostFtdcExchangeIDType        ExchangeID;
        ///合约在交易所的代码
        TThostFtdcExchangeInstIDType        ExchangeInstID;
        ///最新价
        TThostFtdcPriceType        LastPrice;
        ///上次结算价
        TThostFtdcPriceType        PreSettlementPrice;
        ///昨收盘
        TThostFtdcPriceType        PreClosePrice;
        ///昨持仓量
        TThostFtdcLargeVolumeType        PreOpenInterest;
        ///今开盘
        TThostFtdcPriceType        OpenPrice;
        ///最高价
        TThostFtdcPriceType        HighestPrice;
        ///最低价
        TThostFtdcPriceType        LowestPrice;
        ///数量
        TThostFtdcVolumeType        Volume;
        ///成交金额
        TThostFtdcMoneyType        Turnover;
        ///持仓量
        TThostFtdcLargeVolumeType        OpenInterest;
        ///今收盘
        TThostFtdcPriceType        ClosePrice;
        ///本次结算价
        TThostFtdcPriceType        SettlementPrice;
        ///涨停板价
        TThostFtdcPriceType        UpperLimitPrice;
        ///跌停板价
        TThostFtdcPriceType        LowerLimitPrice;
        ///昨虚实度
        TThostFtdcRatioType        PreDelta;
        ///今虚实度
        TThostFtdcRatioType        CurrDelta;
        ///最后修改时间
        TThostFtdcTimeType        UpdateTime;
        ///最后修改毫秒
        TThostFtdcMillisecType        UpdateMillisec;
        ///申买价一
        TThostFtdcPriceType        BidPrice1;
        ///申买量一
        TThostFtdcVolumeType        BidVolume1;
        ///申卖价一
        TThostFtdcPriceType        AskPrice1;
        ///申卖量一
        TThostFtdcVolumeType        AskVolume1;
        ///申买价二
        TThostFtdcPriceType        BidPrice2;
        ///申买量二
        TThostFtdcVolumeType        BidVolume2;
        ///申卖价二
        TThostFtdcPriceType        AskPrice2;
        ///申卖量二
        TThostFtdcVolumeType        AskVolume2;
        ///申买价三
        TThostFtdcPriceType        BidPrice3;
        ///申买量三
        TThostFtdcVolumeType        BidVolume3;
        ///申卖价三
        TThostFtdcPriceType        AskPrice3;
        ///申卖量三
        TThostFtdcVolumeType        AskVolume3;
        ///申买价四
        TThostFtdcPriceType        BidPrice4;
        ///申买量四
        TThostFtdcVolumeType        BidVolume4;
        ///申卖价四
        TThostFtdcPriceType        AskPrice4;
        ///申卖量四
        TThostFtdcVolumeType        AskVolume4;
        ///申买价五
        TThostFtdcPriceType        BidPrice5;
        ///申买量五
        TThostFtdcVolumeType        BidVolume5;
        ///申卖价五
        TThostFtdcPriceType        AskPrice5;
        ///申卖量五
        TThostFtdcVolumeType        AskVolume5;
        ///当日均价
        TThostFtdcPriceType        AveragePrice;
        ///业务日期
        TThostFtdcDateType        ActionDay;
};[/code]数据范例:
[img]http://p.algo2.net/2024/1121/118b193106134.png[/img]

龙听 发表于 2024-11-24 17:16

鼎元C++软件中bar线(TKVALUE)结构体[code]struct TKVALUE
{
        string sDate;
        string sTime;
        string InstrumentID;
        string sPeriod;
        double dOpen = 0;
        double dHigh = 0;
        double dLow = 0;
        double dClose = 0;
        int nVolume = 0;
        int nOpenInterest = 0;
        string sDayNight;
};[/code][img]http://p.algo2.net/2024/1121/926cd8d80e7b4.png[/img]

龙听 发表于 2024-11-24 17:22

鼎元C++数据存放形式:
TKVALUE:数据存放形式:

[img]http://p.algo2.net/2024/1124/84fdd1ea69046.png[/img]
[img]http://p.algo2.net/2024/1124/f3db447fccb73.png[/img]

tick数据存放形式:

[img]http://p.algo2.net/2024/1124/d8cc165e66252.png[/img]
[img]http://p.algo2.net/2024/1124/0d44e167a061f.png[/img]

龙听 发表于 2024-11-24 17:46

如何订阅tick数据:

1、在onrun函数中:[code]SubscribeMarketData(sInst);[/code]2、在OnMarketData(CThostFtdcDepthMarketDataField* t)中调用方法:[code]
mapMd[t->InstrumentID] = *t;
t->LastPrice;//调用某个变量值,此处是最新价。
[/code]如何订阅bar数据:[code]
map<string, TKVALUE >::iterator it;
        for (it = mapK[period][inst].begin(); it != mapK[period][inst].end(); ++it)
            {
               计算如何调用和计算。。。。。。。。。。。。。。。。。。。。。。
             }
[/code][code]
map<string, TKVALUE>::reverse_iterator it;
        for (it = mapK[period][inst].rbegin(); it != mapK[period][inst].rend(); ++it)
            {
               计算如何调用和计算。。。。。。。。。。。。。。。。。。。。。。
             }
[/code]1、在onrun中[code]
RsqBar(sPeriod, sInst);//查询历史K线
ma = average(sPeriod, sInst, length); //调用简单移动平均线数值[/code]2、OnMarketData(CThostFtdcDepthMarketDataField* t)中调用[code]ma = average(sPeriod, sInst, length); //调用简单移动平均线数值[/code]3、在:OnBarOpen(TKVALUE t)中调用[code]ma = average(sPeriod, sInst, length); //调用简单移动平均线数值[/code]

页: [1]