第二部分、常用到的bar数据元素数组调用【逆序版,适合直接做逻辑判断用】
  
- UID
- 2
- 积分
- 2954180
- 威望
- 1427127 布
- 龙e币
- 1527053 刀
- 在线时间
- 13879 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2025-5-14

|
第二部分、常用到的bar数据元素数组调用【逆序版,适合直接做逻辑判断用】
头文件声明变量:- //返回数组形式的数据处理
- //bar常用基本元素调用(开始)【返回逆序数组变量】
- vector<double>Close(); //数组型close价格(返回逆序数组形式,最新序列号是[0])
- vector<double>Open();//数组型open价格(返回逆序数组形式,最新序列号是[0])
- vector<double>High();//数组型最高价high(返回逆序数组形式,最新序列号是[0])
- vector<double>Low();//数组型最低价low(返回逆序数组形式,最新序列号是[0])
- vector<double>Median();//数组型(high+low)/2(返回逆序数组形式,最新序列号是[0])
- vector<double>AvgPrice();//数组型(high+low+open+close)*0.25(返回逆序数组形式,最新序列号是[0])
- vector<double>OpenInterest();//数组型持仓量(返回逆序数组形式,最新序列号是[0])
- vector<double>Volume();//数组型成交量(返回逆序数组形式,最新序列号是[0])
- //bar常用基本元素调用(结束)【返回逆序数组变量】
复制代码 |
论坛官方微信、群(期货热点、量化探讨、开户与绑定实盘)
|
|
|
|
|
|
  
- UID
- 2
- 积分
- 2954180
- 威望
- 1427127 布
- 龙e币
- 1527053 刀
- 在线时间
- 13879 小时
- 注册时间
- 2009-12-3
- 最后登录
- 2025-5-14

|
公式模块增加:- //第二类函数(常用到的bar数据元素调用,逆序版,适合直接做逻辑判断用)
- //数组型close价格(返回逆序数组形式,最新序列号是[0])
- vector<double> test::Close()
- {
- vector<double>newclose;
- newclose.clear();
- RsqBar(sPeriod, sInst);
- map<string, TKVALUE>::iterator it;//迭代
- for (it = mapK[sPeriod][sInst].begin(); it != mapK[sPeriod][sInst].end(); it++) //遍历所有K线
- {
- newclose.push_back(it->second.dClose);//将交易周期bar的收盘价存入newclose容器变量
- }
- vector<double> newclose1;
- reverse(newclose.begin(), newclose.end());//调转数组顺序以与行业规范统一
- return newclose;
- }
- //数组型open价格(返回逆序数组形式,最新序列号是[0])
- vector<double> test::Open()
- {
- vector<double>newopen;
- newopen.clear();
- RsqBar(sPeriod, sInst);
- map<string, TKVALUE>::iterator it;//迭代
- for (it = mapK[sPeriod][sInst].begin(); it != mapK[sPeriod][sInst].end(); it++) //遍历所有K线
- {
- newopen.push_back(it->second.dOpen);//将交易周期bar的收盘价存入newopen容器变量
- }
- reverse(newopen.begin(), newopen.end());//调转数组顺序以与行业规范统一
- return newopen;
- }
- //数组型最高价high(返回逆序数组形式,最新序列号是[0])
- vector<double> test::High()
- {
- vector<double>newhigh;
- newhigh.clear();
- RsqBar(sPeriod, sInst);
- map<string, TKVALUE>::iterator it;//迭代
- for (it = mapK[sPeriod][sInst].begin(); it != mapK[sPeriod][sInst].end(); it++) //遍历所有K线
- {
- newhigh.push_back(it->second.dHigh);//将交易周期bar的最高价存入newhigh容器变量
- }
- reverse(newhigh.begin(), newhigh.end());//调转数组顺序以与行业规范统一
- return newhigh;
- }
- //数组型最低价low(返回逆序数组形式,最新序列号是[0])
- vector<double> test::Low()
- {
- vector<double>newlow;
- newlow.clear();
- RsqBar(sPeriod, sInst);
- map<string, TKVALUE>::iterator it;//迭代
- for (it = mapK[sPeriod][sInst].begin(); it != mapK[sPeriod][sInst].end(); it++) //遍历所有K线
- {
- newlow.push_back(it->second.dLow);//将交易周期bar的最低价存入newlow容器变量
- }
- reverse(newlow.begin(), newlow.end());//调转数组顺序以与行业规范统一
- return newlow;
- }
- //Median 数组型(high+low)/2(返回逆序数组形式,最新序列号是[0])
- vector<double> test::Median()
- {
- vector<double>newmedian;// 声明中间容器变量
- newmedian.clear();
- RsqBar(sPeriod, sInst);
- map<string, TKVALUE>::iterator it;//迭代
- for (it = mapK[sPeriod][sInst].begin(); it != mapK[sPeriod][sInst].end(); it++) //遍历所有K线
- {
- newmedian.push_back((it->second.dHigh + it->second.dLow) / 2);//将当根bar的(high+low)/2 存入新容器变量
- }
- reverse(newmedian.begin(), newmedian.end());//调转数组顺序以与行业规范统一
- return newmedian;
- }
- //数组型(high+low+open+close)*0.25(返回逆序数组形式,最新序列号是[0])
- vector<double> test::AvgPrice()
- {
- vector<double>newv;
- newv.clear();
- RsqBar(sPeriod, sInst);
- map<string, TKVALUE>::iterator it;//迭代
- for (it = mapK[sPeriod][sInst].begin(); it != mapK[sPeriod][sInst].end(); it++) //遍历所有K线
- {
- newv.push_back((it->second.dHigh + it->second.dLow + it->second.dOpen + it->second.dClose) * 0.25);//将当根bar的(high+low)/2 存入新容器变量
- }
- reverse(newv.begin(), newv.end());//调转数组顺序以与行业规范统一
- return newv;
- }
- //数组型持仓量(返回逆序数组形式,最新序列号是[0])
- vector<double> test::OpenInterest()
- {
- vector<double>newOpenInterest;
- newOpenInterest.clear();
- RsqBar(sPeriod, sInst);
- map<string, TKVALUE>::iterator it;//迭代
- for (it = mapK[sPeriod][sInst].begin(); it != mapK[sPeriod][sInst].end(); it++) //遍历所有K线
- {
- newOpenInterest.push_back(it->second.nOpenInterest);//将当根bar的持仓量存入新容器变量
- }
- reverse(newOpenInterest.begin(), newOpenInterest.end());
- return newOpenInterest;
- }
- //数组型成交量(返回逆序数组形式, 最新序列号是[0])
- vector<double> test::Volume()
- {
- vector<double>newvolume;
- newvolume.clear();
- RsqBar(sPeriod, sInst);
- map<string, TKVALUE>::iterator it;//迭代
- for (it = mapK[sPeriod][sInst].begin(); it != mapK[sPeriod][sInst].end(); it++) //遍历所有K线
- {
- newvolume.push_back(it->second.nVolume);//将当根bar的成交量存入新容器变量
- }
- reverse(newvolume.begin(), newvolume.end());
- return newvolume;
- }
- //第二类函数(常用到的bar数据元素调用,逆序版,适合直接做逻辑判断用)
复制代码 |
|
|
|
|
|
|