candlestick
candlestick copied to clipboard
Candlestick patterns detection.
Candlestick
A JavaScript library for candlestick pattern detection. Easy to use and solves the need for node-gyp
builds.
Installation
To use the most recent release in your project:
npm install --save candlestick
Available functions
Boolean 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.
Examples
Boolean detection
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)); // true
Finding patterns in series
Find 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', ... }]
Running tests
npm test
Contributing
You are welcome to contribute to this library creating new issues or pull requests.
License
This project is licensed under the MIT license. See the LICENSE file for more info.