Как интерпретировать массивы результатов TA-LIB? (Библиотека технического анализа)
Я разрабатываю алгоритм финансового технического анализа с помощью node-talib, оболочки TALIB (Библиотека технического анализа).
Давая массив рыночных данных из 400 позиций, я выполняю ADX и получаю массив из 384 позиций. Что это значит? Что этот массив представляет?
Я добавляю пример кода:
const talib = require("node-talib")
// Load market data
var marketContents = fs.readFileSync('examples/marketdata.json','utf8');
var marketData = JSON.parse(marketContents);
// execute ADX indicator function with time period 9
talib.execute({
name: "ADX",
startIdx: 0,
endIdx: marketData.close.length - 1,
high: marketData.high,
low: marketData.low,
close: marketData.close,
optInTimePeriod: 9
}, function (err, result) {
// Show the result array
console.log("ADX Function Results:");
console.log(result);
});
where marketdata is an object of arrays like this:
{
"open": [
448.36,
448.45,
447.49,
(...) ],
"close": [
448.36,
448.45,
447.49,
(...) ],
"min": [
448.36,
448.45,
447.49,
(...) ],
"max": [
448.36,
448.45,
447.49,
(...) ],
"volume": [
448.36,
448.45,
447.49,
(...) ]
}
В результате получается массив с плавающей точкой (всегда меньше длины marketdata.open/close/min/max).
Спасибо
1 ответ
Вам лучше прочитать официальные документы по C++. В двух словах результирующий массив всегда имеет одинаковый размер или меньше входного массива. Это меньше, например, для 5-дневного среднего. Если вы примените его к входным данным за 60 дней, вы получите только 56 результатов. Поскольку для 5-дневного среднего значения необходимо рассчитать 5 значений, а для первых 4-х дней оно не определено. Итак, массив результатов содержит данные, соответствующие последним n
входные значения где n <= input array size
в зависимости от применяемого индикатора.