import { DataFrame } from 'danfojs-node'; import { Broker } from './broker'; import { Context, OrderOptions } from './interfaces'; export declare abstract class Strategy { readonly data: DataFrame; private readonly broker; private _indicators; private _signals; constructor(data: DataFrame, broker: Broker); get equity(): number; get position(): import("./position").Position | undefined; get orders(): import("./order").Order[]; get trades(): import("./trade").Trade[]; get closedTrades(): import("./trade").Trade[]; get indicators(): Record[]>; get signals(): Record; /** * Initialize the strategy. * Declare indicators and signals. */ abstract init(): void; /** * Implement the strategy decisions. */ abstract next(context: Context): void; /** * Place a new long order. */ buy(options: Omit): import("./order").Order; /** * Place a new short order. */ sell(options: Omit): import("./order").Order; /** * Add an indicator. */ addIndicator(name: string, values: number[] | Record[]): void; /** * Get the indicator. */ getIndicator(name: string): number[] | Record[]; /** * Add a signal. */ addSignal(name: string, values: boolean[]): void; /** * Get the signal. */ getSignal(name: string): boolean[]; /** * Get the strategy name. */ toString(): string; }