@anaslaham/talib-wasm
v4.0.0
Published
ta-lib.org package parsed with emscripten, that can be added to browser
Downloads
17
Maintainers
Readme
talib-wasm
An emscripten wrapper around TA-LIB, that allows you to use technical analysis library from ta-lib.org with webpack or inside node.js.
Supports typescript types.
Installation
To install the most recent release from npm, run:
npm install talib-wasm --save
Examples
Simple usage
require('talib-wasm')
.then((funcs) => {
const totalLength = 50;
const inputArray1 = new Array(totalLength);
const inputArray2 = new Array(totalLength);
for (let i = 0; i < totalLength; i++) {
inputArray1[i] = Math.random() * 100;
inputArray2[i] = Math.random() * 100;
}
const result = funcs.CORREL({
startIdx: 0,
begIdx: totalLength - 1,
inReal0: inputArray1,
inReal1: inputArray2,
optInTimePeriod: 5
});
console.log(
result
);
});
Output:
{
outReal: Float64Array [
-0.6928388933464642,
-0.5839394251640864,
-0.14373076952669628,
0.6790200559640114,
0.8465738940590309,
0.28576183066199495,
...
],
returnCode: 0,
returnCodeName: 'TA_SUCCESS'
}
Get all function definitions
require('talib-wasm')
.then((funcs) => {
console.log(
JSON.stringify(funcs.describeFunctions(), null, 2)
)
});
Output:
{
"ACOS": {
"RequiredInputArguments": [
{
"name": "inReal",
"defaultValue": null
}
],
"OptionalInputArguments": [],
"OutputArguments": [
{
"name": "outReal"
}
]
},
"AD": {
"RequiredInputArguments": [
{
"name": "High",
"defaultValue": null
},
{
"name": "Low",
"defaultValue": null
},
{
"name": "Close",
"defaultValue": null
},
{
"name": "Volume",
"defaultValue": null
}
],
"OptionalInputArguments": [],
"OutputArguments": [
{
"name": "outReal"
}
]
},
"ADD": {
"RequiredInputArguments": [
{
"name": "inReal0",
"defaultValue": null
},
{
"name": "inReal1",
"defaultValue": null
}
],
"OptionalInputArguments": [],
"OutputArguments": [
{
"name": "outReal"
}
]
},
...
}
MA Types
Some indicators require or accept a optInMAType property:
SMA = 0
EMA = 1
WMA = 2
DEMA = 3
TEMA = 4
TRIMA = 5
KAMA = 6
MAMA = 7
T3 = 8
Local build
You need manually install emscripten to build this package.
npm run build
Modules versions
Version 3.0.1
- Bugfix with nested C-functions (ffi) + tests
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 2.0.14
clang version 12.0.0
node (EMSDK_NODE) version - 15.10.0
python (EMSDK_PYTHON) version - 3.9.2
Version 3.0.0
- Result arrays now not contain blank fields at the end. Length of result array in version 2.x can be different with version 3.x
- Result arrays now are not Float64Array.
- Fixed memory leaks on functions calls.
- Added
lookback
functions to get lookback info. Very useful to get difference between input and output arrays lengths. - Talib C++ sources from ta-lib.org now in project.
- Added tests (uses jest).
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 2.0.10
clang version 12.0.0 (/opt/s/w/ir/cache/git/chromium.googlesource.com-external-github.com-llvm-llvm--project 445289aa63e1b82b9eea6497fb2d0443813a9d4e)
node (EMSDK_NODE) version - 15.3.0
python (EMSDK_PYTHON) version - 3.8.5
Versions 2.0.1 - 2.0.6
Added main.d.ts file for typescript typings support.
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 2.0.0
clang version 12.0.0
talib version - 1.1.3
node (EMSDK_NODE) version - 14.8.0
python (EMSDK_PYTHON) version - 3.8.5
Version 2.0.0
Switch to emscripten v2.0.0
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 2.0.0
clang version 12.0.0
talib version - 1.1.3
node (EMSDK_NODE) version - 14.8.0
python (EMSDK_PYTHON) version - 3.8.5
Version 1.1.3
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 1.40.1
talib - 1.1.3
node - 14.7.0
Version 1.1.2
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 1.39.18
talib - 1.1.3
node - 14.5.0
Version 1.1.1
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 1.39.14
talib - 1.1.3
node - 14.2.0
Version 1.1.0
emcc (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 1.39.13
talib - 1.1.3
node - 14.0.0
Version 1.0.6
emcc - (Emscripten gcc/clang-like replacement + linker emulating GNU ld) 1.39.6
talib - 1.1.3
node - 13.7.0
Version 1.0.5
emcc - (Emscripten gcc/clang-like replacement) 1.39.3
talib - 1.1.3
node - 13.2.0
Version 1.0.4
emcc - (Emscripten gcc/clang-like replacement) 1.39.1
talib - 1.1.3
node - 13.0.1
Version 1.0.3
emcc - (Emscripten gcc/clang-like replacement) 1.38.44
talib - 1.1.2
node - 12.10.0
binaryen - 89