UNPKG

technicalindicators

Version:
42 lines (41 loc) 1.68 kB
import Doji from './Doji'; import CandlestickFinder from './CandlestickFinder'; export default class EveningDojiStar extends CandlestickFinder { constructor() { super(); this.name = 'EveningDojiStar'; this.requiredCount = 3; } logic(data) { let firstdaysOpen = data.open[0]; let firstdaysClose = data.close[0]; let firstdaysHigh = data.high[0]; let firstdaysLow = data.low[0]; let seconddaysOpen = data.open[1]; let seconddaysClose = data.close[1]; let seconddaysHigh = data.high[1]; let seconddaysLow = data.low[1]; let thirddaysOpen = data.open[2]; let thirddaysClose = data.close[2]; let thirddaysHigh = data.high[2]; let thirddaysLow = data.low[2]; let firstdaysMidpoint = ((firstdaysOpen + firstdaysClose) / 2); let isFirstBullish = firstdaysClose > firstdaysOpen; let dojiExists = new Doji().hasPattern({ "open": [seconddaysOpen], "close": [seconddaysClose], "high": [seconddaysHigh], "low": [seconddaysLow] }); let isThirdBearish = thirddaysOpen > thirddaysClose; let gapExists = ((seconddaysHigh > firstdaysHigh) && (seconddaysLow > firstdaysHigh) && (thirddaysOpen < seconddaysLow) && (seconddaysClose > thirddaysOpen)); let doesCloseBelowFirstMidpoint = thirddaysClose < firstdaysMidpoint; return (isFirstBullish && dojiExists && gapExists && isThirdBearish && doesCloseBelowFirstMidpoint); } } export function eveningdojistar(data) { return new EveningDojiStar().hasPattern(data); }