C++ Tester 1
Class Hierarchy
// STL
#include <iostream>
#include <map>
#include <string>
#include <vector>
// STL
#include <sstream>
// Boost
#include <boost/date_time/posix_time/posix_time.hpp>
//
#include "Bar.h"
#include "FileDriver.h"
#include "DriverException.h"
#include "M1Series.h"
#include "M1SeriesException.h"
#include "CSVDriver.h"
#include "M1DB.h"
int main()
{
const std::string begin_date="1105315200";
const std::string end_date="1105502400";
const std::string eurusd_dbfile="./EURUSD240.csv";
const std::string eurusd_symbol = "EURUSD";
std::istringstream stream1;
std::istringstream stream2;
stream1.str(begin_date);
stream2.str(end_date);
std::time_t tt1;
std::time_t tt2;
stream1 >> tt1;
stream2 >> tt2;
try
{
std::cout << "Loading " << eurusd_dbfile << " from "
<< boost::posix_time::from_time_t(tt1) << " to "
<< boost::posix_time::from_time_t(tt2) << "..." << std::endl;
M1DB::instance().load(eurusd_symbol,
eurusd_dbfile,
M1DB::CSV,
boost::posix_time::from_time_t(tt1),
boost::posix_time::from_time_t(tt2)
);
const M1Series& eurusd_db = M1DB::instance().get(eurusd_symbol);
std::cout<<std::endl;
std::cout<<"Map:
"<<boost::posix_time::from_time_t(tt1)<<"
"<<boost::posix_time::from_time_t(tt2)<<std::endl;
std::cout << "EURUSD Records: " << eurusd_db.size() << std::endl;
std::cout << "EURUSD First: " << eurusd_db.first() << std::endl;
std::cout << "EURUSD Last: " << eurusd_db.last() << std::endl;
std::cout << "EURUSD Period: " << eurusd_db.period() << std::endl;
std::cout << "EURUSD Total duration: " << eurusd_db.duration() << std::endl;
} catch( std::exception& ex ) {
std::cerr << ex.what() << std::endl;
exit(EXIT_FAILURE);
}
//std::cout << "Hello world!" << std::endl;
return 0;
}