Libannhoo_md_sdk  1.6.1
for index, tick(entrust and trade), and snapshot with solar flare
 All Classes Namespaces Files Functions Variables Pages
main.cpp
1 /************************************************************************
2  > File Name: main.cpp
3  > Author: leaker
4  > Mail: xiao13149920@foxmail.com
5  > Created Time: Sat 21 Nov 2020 04:06:40 PM CST
6  ************************************************************************/
7 
10 #include "cmdline.h"
11 #include "ah_md_spi_inl.h"
12 
13 int main(int argc, char* argv[])
14 {
15  cmdline::parser a;
16  a.add<std::string>("config", 'c', "config file", false, "../conf/config_annhoo_md_sdk.yaml");
17  a.add<std::string>("path", 'p', "data path", false, "./data");
18  a.parse_check(argc, argv);
19 
20  // const char* config_file = "../conf/config_quotes.yaml";
21  std::string config_file = a.get<std::string>("config");
22  std::string data_path = a.get<std::string>("path");
23  auto end = data_path.rend();
24  for (auto it = data_path.rbegin(); it != end; ++it) {
25  if (*it == '/') {
26  data_path.pop_back();
27  } else {
28  break;
29  }
30  }
31 
32  time_t tt;
33  time(&tt);
34  // tm* t = gmtime(&tt, );
35  struct tm* info = localtime(&tt);
36  char day[11];
37  // sprintf(day, "%04d-%02d-%02d", t->tm_year + 1900, t->tm_mon + 1, t->tm_mday);
38  strftime(day, sizeof day, "%Y-%m-%d", info);
39  std::string today = day;
40  std::string index_data = data_path + "/index_" + day + ".csv";
41  // std::string entrust = data_path + "/entrust_" + day + ".csv";
42  // std::string trade = data_path + "/trade_" + day + ".csv";
43  std::string entrust_trade = data_path + "/tick_" + day + ".csv";
44  std::string snap_shot = data_path + "/snapshot_" + day + ".csv";
45  annhoo::IAHMdApi* ahMdApi = NewMdApi(config_file.c_str());
46  // annhoo::IAHMdSpi* ahMdSpi = new annhoo::AHMdSpiInl("mkt_data.csv", "entrust.csv", "trade.csv", "snap_shot.csv",true);
47  // annhoo::IAHMdSpi* ahMdSpi = new annhoo::AHMdSpiInl(mkt_data, entrust, trade, snap_shot);
48  annhoo::IAHMdSpi* ahMdSpi = new annhoo::AHMdSpiInl(index_data, entrust_trade, snap_shot);
49  ahMdApi->RegisterSpi(ahMdSpi);
50  ahMdApi->SubscribeAll();
51  // ahMdApi->Login();
52  ahMdApi->Connect(true);
53  ahMdApi->Start();
54  ahMdApi->Join();
55 
56  ahMdApi->UnRegisterSpi(ahMdSpi);
57  delete ahMdSpi;
58  delete ahMdApi;
59 
60  return 0;
61 }
This is the main interface to use library libAHQuotes.
Definition: ah_md_spi.h:26
This is the main interface to use library libAHQuotes.
Definition: ah_md_api.h:25
int main(int argc, char *argv[])
Definition: get_version.cpp:11
virtual void Join(void)=0
Join annhoo marketdata quotes end.
virtual void SubscribeAll(void)=0
Subscribe all types: indexs, entrusts, trades, snapshots.
virtual int Connect(bool master)=0
Connect udp server type.
virtual void UnRegisterSpi(IAHMdSpi *imp)=0
Unregister spi.
virtual void RegisterSpi(IAHMdSpi *imp)=0
Register spi.
annhoo market data quotes api.
annhoo::IAHMdApi * NewMdApi(const char *config_path)
Create a market data api.
virtual void Start(void)=0
Start annhoo marketdata quotes.
annhoo markdata quotes api.