import { IKeyObjectValue } from "../../../type";
import { IOrder, IStrategy } from "../buildInFuncNamespace";
import { BuiltInVariables } from "../buildInVariables";
export declare class Strategy {
    private _orders;
    private _options?;
    private _max_contracts_held_all;
    private _max_contracts_held_long;
    private _max_contracts_held_short;
    private _max_drawdown;
    private _max_runup;
    private _max_net_drawdown;
    private _max_net_drawdown_percent;
    private _max_runup_percent;
    private _max_drawdown_percent;
    private _variables;
    private _netprofit;
    private _eventrades;
    private _avg_trade_percent?;
    private _avg_losing_trade_percent?;
    private _avg_winning_trade_percent?;
    private _closedtrades;
    private _losstrades;
    private _grossloss;
    private _grossprofit;
    private _wintrades;
    private _opentrades_capital_held;
    private _position_avg_price?;
    private _position_size;
    private _openprofit;
    private _preMaxNetValue;
    private _preMinNetValue;
    marginCallLong: number;
    marginCallShort: number;
    opentrades_long: number;
    opentrades_short: number;
    position_size_long: number;
    position_size_short: number;
    position_size_total: number;
    openprofit_long: number;
    openprofit_short: number;
    private _preHistoryOrderCalcResult;
    private _firstPrice?;
    constructor(variables: BuiltInVariables);
    get _strategyCacheData(): IKeyObjectValue;
    set _strategyCacheData(data: IKeyObjectValue);
    update(data: IKeyObjectValue): void;
    private _calcMaxDrawdownAndMaxRunup;
    updateOrders(orders: IOrder[]): void;
    private _calcMaxContracts;
    updateHistoryOrderCalcData(): void;
    private _createBalanceByInterval;
    updateHistoryOrder(order?: IOrder): void;
    updateStrategyOptions(options: IStrategy): void;
    get account_currency(): string;
    get closedtrades(): number;
    get opentrades(): {
        opentrades: number;
        capital_held: number;
    };
    get price_first_long(): number;
    get price_last_long(): number;
    get avg_price_long(): number;
    get price_highest_long(): number | undefined;
    get price_lowest_long(): number | undefined;
    get price_first_short(): number;
    get price_last_short(): number;
    get avg_price_short(): number;
    get price_highest_short(): number | undefined;
    get price_lowest_short(): number | undefined;
    get avg_losing_trade(): number | undefined;
    get avg_losing_trade_percent(): number | undefined;
    get avg_trade(): number | undefined;
    get equity(): number;
    get netprofit(): number;
    get eventrades(): number;
    get openprofit(): number;
    get avg_trade_percent(): number | undefined;
    get avg_winning_trade(): number | undefined;
    get avg_winning_trade_percent(): number | undefined;
    get initial_capital(): number;
    get losstrades(): number;
    get grossloss(): number;
    get grossloss_percent(): number;
    get grossprofit(): number;
    get grossprofit_percent(): number;
    get wintrades(): number;
    get margin_liquidation_price(): number | undefined;
    get max_contracts_held_all(): number;
    get max_contracts_held_long(): number;
    get max_contracts_held_short(): number;
    get max_drawdown(): number;
    get max_runup(): number;
    get max_runup_percent(): number;
    get max_drawdown_percent(): number;
    get netprofit_percent(): number;
    get openprofit_percent(): number;
    get position_avg_price(): number | undefined;
    get position_entry_name(): string | undefined;
    get position_size(): number;
    get summaryData(): {
        position_size: number;
        position_avg_price: number | undefined;
        position_entry_name: string | undefined;
        openprofit_percent: number;
        netprofit_percent: number;
        max_drawdown_percent: number;
        max_runup_percent: number;
        max_drawdown: number;
        max_runup: number;
        max_net_drawdown: number;
        max_net_drawdown_percent: number;
        max_contracts_held_long: number;
        max_contracts_held_short: number;
        max_contracts_held_all: number;
        avg_winning_trade_percent: number | undefined;
        avg_winning_trade: number | undefined;
        avg_trade_percent: number | undefined;
        avg_trade: number | undefined;
        avg_losing_trade: number | undefined;
        avg_losing_trade_percent: number | undefined;
        wintrades: number;
        losstrades: number;
        eventrades: number;
        grossprofit: number;
        grossprofit_percent: number;
        grossloss: number;
        grossloss_percent: number;
        openprofit: number;
        initial_capital: number;
        netprofit: number;
        closedtrades: number;
        opentrades: {
            opentrades: number;
            capital_held: number;
        };
        equity: number;
        margin_call_long: number;
        margin_call_short: number;
        first_price: number | undefined;
    };
    private _getOrderPrices;
}
