UNPKG

marketdata-api

Version:

OData server. Get market data from crypto exchanges open REST API.

32 lines 1.79 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const Advice_1 = require("../models/Advice"); class BacktestEngine { static getAdvices({ strategyFunction, candles, indicators, parameters }) { return __awaiter(this, void 0, void 0, function* () { const { Output } = indicators[0]; // UNDONE сделать для нескольких индикаторов // перебор выполнять по свечам // лучше с обратной стороны // лучше сразу ограничить минимальным набором данных return Output.map((e, index) => { return new Advice_1.Advice({ time: e.time, value: strategyFunction(Output.slice(0, index + 1) .map(e1 => e1.values) .reverse()) }); }).filter(e => e.value); }); } } exports.BacktestEngine = BacktestEngine; //# sourceMappingURL=Backtest.js.map