UNPKG

rxjs-trading-signals

Version:

The user - defined operator helps users quickly output index values. base trading-signals library

38 lines 1.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.makeIndicatorOperator = void 0; const rxjs_1 = require("rxjs"); const trading_signals_1 = require("trading-signals"); const makeIndicatorOperator = (macdParam) => { return (observable) => new rxjs_1.Observable((subscriber) => { const [shortInterval, longInterval, signalInterval] = macdParam; let indicator = new trading_signals_1.MACD({ indicator: trading_signals_1.EMA, shortInterval: shortInterval, longInterval: longInterval, signalInterval: signalInterval, }); const subscription = observable.subscribe({ next(item) { const { close } = item; indicator.update(close); if (indicator.isStable) { const { histogram } = indicator.getResult(); subscriber.next([item, histogram]); } }, error(err) { subscriber.error(err); }, complete() { subscriber.complete(); }, }); return () => { subscription.unsubscribe(); indicator = null; }; }); }; exports.makeIndicatorOperator = makeIndicatorOperator; //# sourceMappingURL=MACD.rx.js.map