/** \brief Класс Новостей
*/
class News
{
public:
std::string name; /**< Имя новости */
std::string currency; /**< Валюта новости */
std::string country; /**< Страна новости */
int level_volatility = -1; /**< Уровень волатильности (-1 не инициализировано, низкий уровень = 0, средний 1, высокий 2) */
double previous; /**< Предыдущее значение */
double actual; /**< Актуальное значение */
double forecast; /**< Предсказанное значение */
bool is_previous = false; /**< Наличие предыдущего значения */
bool is_actual = false; /**< Наличие актуального значения */
bool is_forecast = false; /**< Наличие предсказанного значения */
uint64_t timestamp = 0; /**< Метка времени новости */
News() {};
};Для хранения массива исторических данных новостей используется библиотека 


Круглые цифры, о них помнят, но часто забывают. Очень зря, ибо это самое сильное самоисполняющееся пророчество из всех. Уровни вроде 1.4200 или 1.2500 нередко реагируют сами по себе, что и понятно. Ведь всем трейдерам мира их куда проще запомнить, нежели 1.4287 либо 1.2536.Источник: binguru.net
Для проверки психологических уровней будем использовать стратегию на основе индикатора Bollinger Bands с периодом 20 и множителем стандартного отклонения 2.0. Таймфрейм — 1 минута.
Стратегия будет очень простая: если цена вышла за нижнюю полосу индикатора, совершаем сделку на покупку с длиной экспирации 3 минуты.