import * as api from '../../api'; import { OrderToBeCreated, TradingOrder, TradingPosition } from '../types'; import calculateSizeFromString from './calculateSizeFromString'; import calculateLiquidationPrice from './calculateLiquidationPrice'; import createOrderFromDraft from './createOrderFromDraft'; import limitOrder from './limitOrder'; import marketOrder from './marketOrder'; import stopLimitOrder from './stopLimitOrder'; import stopMarketOrder from './stopMarketOrder'; import closePosition from './closePosition'; import cancelAllOrders from './cancelAllOrders'; import cancelOrder from './cancelOrder'; import updateDrafts from './updateDrafts'; import getPseudoPosition from './getPseudoPosition'; import eventOrderUpdate from './eventOrderUpdate'; import eventAccountUpdate from './eventAccountUpdate'; import updateLeverage from './updateLeverage'; import loadPositionTrades from './loadPositionTrades'; import '../altamoon.d'; export default class Trading { #private; openPositions: TradingPosition[]; allSymbolsPositionRisk: Record; openOrders: TradingOrder[]; ordersToBeCreated: OrderToBeCreated[]; currentSymbolAllOrders: api.FuturesOrder[]; currentSymbolMaxLeverage: number; currentSymbolLeverage: number; isCurrentSymbolMarginTypeIsolated: boolean; positionsKey?: string; ordersKey?: string; limitBuyPrice: number | null; shouldShowLimitBuyPriceLine: boolean; limitSellPrice: number | null; shouldShowLimitSellPriceLine: boolean; stopBuyPrice: number | null; shouldShowStopBuyDraftPriceLine: boolean; stopSellPrice: number | null; shouldShowStopSellDraftPriceLine: boolean; currentSymbolPseudoPosition: TradingPosition | null; /** * The object contains actual lastPrices for symbols that are currently listened. * In other words prices of symbols of current open positions and orders */ listenedLastPrices: Record; /** * We need to store canceled order IDs because WebSocket and REST API can return different data. * For example, REST request is made before order is closed, WebSocket reacts immediately, * but the REST request returns outdated data */ canceledOrderIds: string[]; store: altamoon.RootStore; leverageChangeRequestsCount: number; constructor(store: altamoon.RootStore); marketOrder: (args_0: { side: api.OrderSide; quantity: number; symbol: string; reduceOnly?: boolean | undefined; }) => ReturnType; limitOrder: (args_0: { side: api.OrderSide; quantity: number; price: number; symbol: string; reduceOnly?: boolean | undefined; postOnly?: boolean | undefined; newClientOrderId?: string | undefined; shouldHideDraft?: boolean | undefined; }) => ReturnType; stopMarketOrder: (args_0: { side: api.OrderSide; quantity: number; symbol: string; stopPrice: number; reduceOnly?: boolean | undefined; }) => ReturnType; stopLimitOrder: (args_0: { side: api.OrderSide; quantity: number; price: number; stopPrice: number; symbol: string; reduceOnly?: boolean | undefined; postOnly?: boolean | undefined; newClientOrderId?: string | undefined; }) => ReturnType; createOrderFromDraft: (args_0: { buyDraftPrice: number | null; sellDraftPrice: number | null; stopBuyDraftPrice: number | null; stopSellDraftPrice: number | null; newClientOrderId: string; }, args_1: api.OrderSide) => ReturnType; closePosition: (symbol: string, amt?: number | undefined) => ReturnType; cancelOrder: (symbol: string, origClientOrderId: string) => ReturnType; cancelAllOrders: (symbol: string) => ReturnType; updateDrafts: (args_0: { buyDraftPrice: number | null; sellDraftPrice: number | null; stopBuyDraftPrice: number | null; stopSellDraftPrice: number | null; }) => ReturnType; eventOrderUpdate: (o: api.UserDataEventOrderUpdateData, updateTime: number) => ReturnType; eventAccountUpdate: (a: api.UserDataEventAccountUpdateData) => ReturnType; calculateSizeFromString: (args_0: string, args_1: string, args_2?: { leverage?: number | undefined; isPercentMode?: boolean | undefined; } | undefined) => ReturnType; calculateLiquidationPrice: (position: Parameters[1], options?: { side: api.OrderSide; } | undefined) => ReturnType; getPseudoPosition: (args_0?: { side?: api.OrderSide | undefined; price?: number | undefined; } | undefined) => ReturnType; updateLeverage: () => ReturnType; loadPositionTrades: (symbol: string) => ReturnType; loadPositions: import("lodash").DebouncedFunc<() => Promise>; loadOrders: import("lodash").DebouncedFunc<() => Promise>; getFeeRate: (type: 'maker' | 'taker') => number; adjustPositionMargin: (symbol: string, amount: number, type: 'ADD' | 'REMOVE') => Promise; calculateQuantity: ({ symbol, price, size, }: { symbol: string; price: number; size: number; }) => number; /** * Updates order arrows on the chart */ loadAllOrders: () => Promise; getMarginAdjustmentInfo: (position?: TradingPosition | undefined) => { addable: number; removable: number; }; } //# sourceMappingURL=index.d.ts.map