A JavaScript library for candlestick pattern detection. Easy to use and solves the need for node-gyp builds.
To use the most recent release in your project:
npm install --save candlestickBoolean pattern detection
isHammer(candlestick)isInvertedHammer(candlestick)isBullishHammer(candlestick)isBearishHammer(candlestick)isBullishInvertedHammer(candlestick)isBearishInvertedHammer(candlestick)isHangingMan(previous, current)isShootingStar(previous, current)isBullishEngulfing(previous, current)isBearishEngulfing(previous, current)isBullishHarami(previous, current)isBearishHarami(previous, current)isBullishKicker(previous, current)isBearishKicker(previous, current)
Search patterns in arrays
hammer(dataArray)invertedHammer(dataArray)bullishHammer(dataArray)bearishHammer(dataArray)bullishInvertedHammer(dataArray)bearishInvertedHammer(dataArray)hangingMan(dataArray)shootingStar(dataArray)bullishEngulfing(dataArray)bearishEngulfing(dataArray)bullishHarami(dataArray)bearishHarami(dataArray)bullishKicker(dataArray)bearishKicker(dataArray)
candlestick, previous and current are OHLC (Open, High, Low, Close) objects:
{
open: number, // security's opening price
high: number, // security's highest price
low: number, // security's lowest price
close: number // security's closing price
}dataArray is an array of OHLC objects like previous or current.
Note: OHLC objects can have more fields and does not affect the final result.
Use two OHLCs to assess the pattern:
const { isBullishKicker, isBearishKicker } = require('candlestick');
// Market data: previous and current ticks
const prev = {
security: 'ORCL',
date: '2016-09-15',
open: 40.18,
high: 41.03,
low: 40.09,
close: 40.86
};
const curr = {
security: 'ORCL',
date: '2016-09-16',
open: 39.61,
high: 39.35,
low: 38.71,
close: 38.92
};
console.log(isBullishKicker(prev, curr)); // false
console.log(isBearishKicker(prev, curr)); // trueFind the points in a dataset where the pattern occurs:
const { shootingStar } = require('candlestick');
// Market data: array of ticks
const data = [
{
security: 'GE',
date: '2016-02-01',
open: 29.01,
high: 29.03,
low: 28.56,
close: 28.64
},
{ ... },
{ ... },
...
{ ... }
];
console.log(shootingStar(data));
// result: [{ security: 'GE', date: '2016-02-10', ... }, { security: 'GE', date: '2016-07-11', ... }]npm testYou are welcome to contribute to this library creating new issues or pull requests.
This project is licensed under the MIT license. See the LICENSE file for more info.