Я хотел бы понять, если есть способ перейти на C ++ TA-Lib библиотека пользовательской структуры (циклическая, FIFO, очередь) вместо простого массива.
Круговая очередь — это мой основной элемент памяти для хранения фиксированного числа тиков (чтобы O(1)
эффективность для add(tick)
).
Я ищу библиотеку, которая принимает интерфейс, похожий на итератор, для вычисления показателей, но я не могу представить способ заставить TA-lib принять такой объект.
Посмотрите на эту вилку TA Lib: https://github.com/trufanov-nok/ta-lib-rt
Вместо массивов данных он предназначен для использования одного входного значения за раз при сохранении прогресса индикатора в объекте состояния. В двух словах вместо
TA_IndicatorX(params, input_data[], output_data[]);
ты можешь использовать:
state = TA_IndicatorX_State(params);
foreach (input_val in input_data[])
TA_IndicatorX(state, input_val, output_val);
TA_IndicatorX_State_Free(state);
Других решений пока нет …