@debut/plugin-virtual-takes
Version:
Classic virtual takes and stops in percent
45 lines (44 loc) • 1.26 kB
TypeScript
import { PluginInterface, OrderType } from '@debut/types';
export type VirtualTakesOptions = {
stopLoss?: number;
takeProfit?: number;
trailing?: TrailingType;
ignoreTicks?: boolean;
manual?: boolean;
maxRetryOrders?: number;
reduceWhen?: number;
reduceSize?: number;
separateStops?: boolean;
};
export declare const enum TrailingType {
None = 0,
Classic = 1,
StartAfterTake = 2,
MoveAfterEachTake = 3
}
type OrderTakes = {
takePrice: number;
stopPrice: number;
price: number;
tryLeft?: number;
tryPrice?: number;
retryFor?: string;
trailed?: boolean;
};
interface Methods {
setTrailingForOrder(cid: string, takePrice: number, stopPrice: number): void;
setPricesForOrder(cid: string, takePrice: number, stopPrice: number): void;
setForOrder(cid: string, type: OrderType): void;
getTakes(cid: string): OrderTakes | undefined;
isManual(): boolean;
updateUpts(opts: VirtualTakesOptions): void;
}
export interface VirtualTakesPluginAPI {
takes: Methods;
}
export interface VirtualTakesPlugin extends PluginInterface {
name: 'takes';
api: Methods;
}
export declare function virtualTakesPlugin(opts: VirtualTakesOptions): VirtualTakesPlugin;
export {};