UNPKG

rxjs-trading-signals

Version:

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

40 lines 1.47 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.AC = void 0; const big_js_1 = __importDefault(require("big.js")); const rxjs_1 = require("rxjs"); const AO_1 = require("../AO/AO"); const SMA_1 = require("../SMA/SMA"); const MOM_1 = require("../MOM/MOM"); const AC = (shortAO, longAO, signalInterval) => { return (observable) => new rxjs_1.Observable((subscriber) => { let aoResult = new big_js_1.default(0); let result = new big_js_1.default(0); const subscription = observable .pipe((0, AO_1.AO)(shortAO, longAO), (0, rxjs_1.tap)(x => (aoResult = x)), (0, SMA_1.SMA)(signalInterval), (0, rxjs_1.concatMap)(signalResult => { result = aoResult.minus(signalResult); return (0, rxjs_1.of)(result); }), (0, MOM_1.MOM)(1), (0, rxjs_1.map)(momentum => ({ momentum, result }))) .subscribe({ next(x) { subscriber.next(x); }, error(err) { subscriber.error(err); }, complete() { subscriber.complete(); }, }); return () => { subscription.unsubscribe(); aoResult = null; result = null; }; }); }; exports.AC = AC; //# sourceMappingURL=AC.js.map