29 lines
989 B
C++
29 lines
989 B
C++
#pragma once
|
||
#include <cstdint>
|
||
|
||
using DayIndex = long long;
|
||
|
||
// Агрегированные данные за один день
|
||
struct DayStats {
|
||
DayIndex day; // индекс дня (timestamp / 86400)
|
||
double low; // минимальный Low за день
|
||
double high; // максимальный High за день
|
||
double open; // первый Open за день
|
||
double close; // последний Close за день
|
||
double avg; // среднее = (low + high) / 2
|
||
double first_ts; // timestamp первой записи (для определения порядка open)
|
||
double last_ts; // timestamp последней записи (для определения close)
|
||
};
|
||
|
||
// Интервал с изменением >= 10%
|
||
struct Interval {
|
||
DayIndex start_day;
|
||
DayIndex end_day;
|
||
double min_open;
|
||
double max_close;
|
||
double start_avg;
|
||
double end_avg;
|
||
double change;
|
||
};
|
||
|