UNPKG

@tinkoff/invest-js

Version:
318 lines (317 loc) 17.9 kB
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { type CallContext, type CallOptions } from "nice-grpc-common"; import { MoneyValue, PriceType, Quotation, ResponseMetadata } from "./common"; /** Направление сделки стоп-заявки. */ export declare enum StopOrderDirection { /** STOP_ORDER_DIRECTION_UNSPECIFIED - Значение не указано. */ STOP_ORDER_DIRECTION_UNSPECIFIED = 0, /** STOP_ORDER_DIRECTION_BUY - Покупка. */ STOP_ORDER_DIRECTION_BUY = 1, /** STOP_ORDER_DIRECTION_SELL - Продажа. */ STOP_ORDER_DIRECTION_SELL = 2, UNRECOGNIZED = -1 } export declare function stopOrderDirectionFromJSON(object: any): StopOrderDirection; export declare function stopOrderDirectionToJSON(object: StopOrderDirection): string; /** Тип экспирации стоп-заявке. */ export declare enum StopOrderExpirationType { /** STOP_ORDER_EXPIRATION_TYPE_UNSPECIFIED - Значение не указано. */ STOP_ORDER_EXPIRATION_TYPE_UNSPECIFIED = 0, /** STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_CANCEL - Действительно до отмены. */ STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_CANCEL = 1, /** STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_DATE - Действительно до даты снятия. */ STOP_ORDER_EXPIRATION_TYPE_GOOD_TILL_DATE = 2, UNRECOGNIZED = -1 } export declare function stopOrderExpirationTypeFromJSON(object: any): StopOrderExpirationType; export declare function stopOrderExpirationTypeToJSON(object: StopOrderExpirationType): string; /** Тип стоп-заявки. */ export declare enum StopOrderType { /** STOP_ORDER_TYPE_UNSPECIFIED - Значение не указано. */ STOP_ORDER_TYPE_UNSPECIFIED = 0, /** STOP_ORDER_TYPE_TAKE_PROFIT - `Take-profit`-заявка. */ STOP_ORDER_TYPE_TAKE_PROFIT = 1, /** STOP_ORDER_TYPE_STOP_LOSS - `Stop-loss`-заявка. */ STOP_ORDER_TYPE_STOP_LOSS = 2, /** STOP_ORDER_TYPE_STOP_LIMIT - `Stop-limit`-заявка. */ STOP_ORDER_TYPE_STOP_LIMIT = 3, UNRECOGNIZED = -1 } export declare function stopOrderTypeFromJSON(object: any): StopOrderType; export declare function stopOrderTypeToJSON(object: StopOrderType): string; /** Статус стоп-заяки. */ export declare enum StopOrderStatusOption { /** STOP_ORDER_STATUS_UNSPECIFIED - Значение не указано. */ STOP_ORDER_STATUS_UNSPECIFIED = 0, /** STOP_ORDER_STATUS_ALL - Все заявки. */ STOP_ORDER_STATUS_ALL = 1, /** STOP_ORDER_STATUS_ACTIVE - Активные заявки. */ STOP_ORDER_STATUS_ACTIVE = 2, /** STOP_ORDER_STATUS_EXECUTED - Исполненные заявки. */ STOP_ORDER_STATUS_EXECUTED = 3, /** STOP_ORDER_STATUS_CANCELED - Отменённые заявки. */ STOP_ORDER_STATUS_CANCELED = 4, /** STOP_ORDER_STATUS_EXPIRED - Истёкшие заявки. */ STOP_ORDER_STATUS_EXPIRED = 5, UNRECOGNIZED = -1 } export declare function stopOrderStatusOptionFromJSON(object: any): StopOrderStatusOption; export declare function stopOrderStatusOptionToJSON(object: StopOrderStatusOption): string; /** Тип выставляемой заявки. */ export declare enum ExchangeOrderType { /** EXCHANGE_ORDER_TYPE_UNSPECIFIED - Значение не указано. */ EXCHANGE_ORDER_TYPE_UNSPECIFIED = 0, /** EXCHANGE_ORDER_TYPE_MARKET - Заявка по рыночной цене. */ EXCHANGE_ORDER_TYPE_MARKET = 1, /** EXCHANGE_ORDER_TYPE_LIMIT - Лимитная заявка. */ EXCHANGE_ORDER_TYPE_LIMIT = 2, UNRECOGNIZED = -1 } export declare function exchangeOrderTypeFromJSON(object: any): ExchangeOrderType; export declare function exchangeOrderTypeToJSON(object: ExchangeOrderType): string; /** Тип TakeProfit-заявки. */ export declare enum TakeProfitType { /** TAKE_PROFIT_TYPE_UNSPECIFIED - Значение не указано. */ TAKE_PROFIT_TYPE_UNSPECIFIED = 0, /** TAKE_PROFIT_TYPE_REGULAR - Обычная заявка, значение по умолчанию. */ TAKE_PROFIT_TYPE_REGULAR = 1, /** TAKE_PROFIT_TYPE_TRAILING - Трейлинг-стоп. */ TAKE_PROFIT_TYPE_TRAILING = 2, UNRECOGNIZED = -1 } export declare function takeProfitTypeFromJSON(object: any): TakeProfitType; export declare function takeProfitTypeToJSON(object: TakeProfitType): string; /** Тип параметров значений трейлинг-стопа. */ export declare enum TrailingValueType { /** TRAILING_VALUE_UNSPECIFIED - Значение не указано. */ TRAILING_VALUE_UNSPECIFIED = 0, /** TRAILING_VALUE_ABSOLUTE - Абсолютное значение в единицах цены. */ TRAILING_VALUE_ABSOLUTE = 1, /** TRAILING_VALUE_RELATIVE - Относительное значение в процентах. */ TRAILING_VALUE_RELATIVE = 2, UNRECOGNIZED = -1 } export declare function trailingValueTypeFromJSON(object: any): TrailingValueType; export declare function trailingValueTypeToJSON(object: TrailingValueType): string; /** Статус трейлинг-стопа. */ export declare enum TrailingStopStatus { /** TRAILING_STOP_UNSPECIFIED - Значение не указано. */ TRAILING_STOP_UNSPECIFIED = 0, /** TRAILING_STOP_ACTIVE - Активный. */ TRAILING_STOP_ACTIVE = 1, /** TRAILING_STOP_ACTIVATED - Активированный. */ TRAILING_STOP_ACTIVATED = 2, UNRECOGNIZED = -1 } export declare function trailingStopStatusFromJSON(object: any): TrailingStopStatus; export declare function trailingStopStatusToJSON(object: TrailingStopStatus): string; /** Запрос выставления стоп-заявки. */ export interface PostStopOrderRequest { /** * Deprecated FIGI-идентификатор инструмента. Используйте `instrument_id`. * * @deprecated */ figi?: string | undefined; /** Количество лотов. */ quantity: number; /** Цена за 1 инструмент биржевой заявки, которая будет выставлена при срабатывании по достижению `stop_price`. Чтобы получить стоимость лота, нужно умножить на лотность инструмента. */ price?: Quotation | undefined; /** Стоп-цена заявки за 1 инструмент. При достижении стоп-цены происходит активация стоп-заявки, в результате чего выставляется биржевая заявка. Чтобы получить стоимость лота, нужно умножить на лотность инструмента. */ stopPrice?: Quotation | undefined; /** Направление операции. */ direction: StopOrderDirection; /** Номер счёта. */ accountId: string; /** Тип экспирации заявки. */ expirationType: StopOrderExpirationType; /** Тип заявки. */ stopOrderType: StopOrderType; /** Дата и время окончания действия стоп-заявки по UTC. Для `ExpirationType = GoodTillDate` заполнение обязательно, для `GoodTillCancel` игнорируется. */ expireDate?: Date | undefined; /** Идентификатор инструмента. Принимает значение `figi` или `instrument_uid`. */ instrumentId: string; /** Тип дочерней биржевой заявки для тейкпрофита. */ exchangeOrderType: ExchangeOrderType; /** Подтип стоп-заявки — `TakeProfit`. */ takeProfitType: TakeProfitType; /** Массив с параметрами трейлинг-стопа. */ trailingData: PostStopOrderRequest_TrailingData | undefined; /** Тип цены. */ priceType: PriceType; /** Идентификатор запроса выставления поручения для целей идемпотентности в формате `UID`. Максимальная длина — 36 символов. */ orderId: string; } export interface PostStopOrderRequest_TrailingData { /** Отступ. */ indent: Quotation | undefined; /** Тип величины отступа. */ indentType: TrailingValueType; /** Размер защитного спреда. */ spread: Quotation | undefined; /** Тип величины защитного спреда. */ spreadType: TrailingValueType; } /** Результат выставления стоп-заявки. */ export interface PostStopOrderResponse { /** Уникальный идентификатор стоп-заявки. */ stopOrderId: string; /** Идентификатор ключа идемпотентности, переданный клиентом, в формате `UID`. Максимальная длина 36 — символов. */ orderRequestId: string; /** Метадата. */ responseMetadata: ResponseMetadata | undefined; } /** Запрос получения списка активных стоп-заявок. */ export interface GetStopOrdersRequest { /** Идентификатор счёта клиента. */ accountId: string; /** Статус заявок. */ status: StopOrderStatusOption; /** Левая граница. */ from: Date | undefined; /** Правая граница. */ to: Date | undefined; } /** Список активных стоп-заявок. */ export interface GetStopOrdersResponse { /** Массив стоп-заявок по счёту. */ stopOrders: StopOrder[]; } /** Запрос отмены выставленной стоп-заявки. */ export interface CancelStopOrderRequest { /** Идентификатор счёта клиента. */ accountId: string; /** Уникальный идентификатор стоп-заявки. */ stopOrderId: string; } /** Результат отмены выставленной стоп-заявки. */ export interface CancelStopOrderResponse { /** Время отмены заявки по UTC. */ time: Date | undefined; } /** Информация о стоп-заявке. */ export interface StopOrder { /** Уникальный идентификатор стоп-заявки. */ stopOrderId: string; /** Запрошено лотов. */ lotsRequested: number; /** FIGI-идентификатор инструмента. */ figi: string; /** Направление операции. */ direction: StopOrderDirection; /** Валюта стоп-заявки. */ currency: string; /** Тип стоп-заявки. */ orderType: StopOrderType; /** Дата и время выставления заявки по UTC. */ createDate: Date | undefined; /** Дата и время конвертации стоп-заявки в биржевую по UTC. */ activationDateTime: Date | undefined; /** Дата и время снятия заявки по UTC. */ expirationTime: Date | undefined; /** Цена заявки за 1 инструмент. Чтобы получить стоимость лота, нужно умножить на лотность инструмента. */ price: MoneyValue | undefined; /** Цена активации стоп-заявки за 1 инструмент. Чтобы получить стоимость лота, нужно умножить на лотность инструмента. */ stopPrice: MoneyValue | undefined; /** `instrument_uid`-идентификатор инструмента. */ instrumentUid: string; /** Подтип стоп-заявки — `TakeProfit`. */ takeProfitType: TakeProfitType; /** Параметры трейлинг-стопа. */ trailingData: StopOrder_TrailingData | undefined; /** Статус заявки. */ status: StopOrderStatusOption; /** Тип дочерней биржевой заявки для тейкпрофита. */ exchangeOrderType: ExchangeOrderType; /** Идентификатор биржевой заявки. */ exchangeOrderId?: string | undefined; } export interface StopOrder_TrailingData { /** Отступ. */ indent: Quotation | undefined; /** Тип величины отступа. */ indentType: TrailingValueType; /** Размер защитного спреда. */ spread: Quotation | undefined; /** Тип величины защитного спреда. */ spreadType: TrailingValueType; /** Статус трейлинг-стопа. */ status: TrailingStopStatus; /** Цена исполнения. */ price: Quotation | undefined; /** Локальный экстремум. */ extr: Quotation | undefined; } export declare const PostStopOrderRequest: MessageFns<PostStopOrderRequest>; export declare const PostStopOrderRequest_TrailingData: MessageFns<PostStopOrderRequest_TrailingData>; export declare const PostStopOrderResponse: MessageFns<PostStopOrderResponse>; export declare const GetStopOrdersRequest: MessageFns<GetStopOrdersRequest>; export declare const GetStopOrdersResponse: MessageFns<GetStopOrdersResponse>; export declare const CancelStopOrderRequest: MessageFns<CancelStopOrderRequest>; export declare const CancelStopOrderResponse: MessageFns<CancelStopOrderResponse>; export declare const StopOrder: MessageFns<StopOrder>; export declare const StopOrder_TrailingData: MessageFns<StopOrder_TrailingData>; /** Сервис для работы со стоп-заявками: выставление, отмена, получение списка стоп-заявок. */ export type StopOrdersServiceDefinition = typeof StopOrdersServiceDefinition; export declare const StopOrdersServiceDefinition: { readonly name: "StopOrdersService"; readonly fullName: "tinkoff.public.invest.api.contract.v1.StopOrdersService"; readonly methods: { /** Выставить стоп-заявку. */ readonly postStopOrder: { readonly name: "PostStopOrder"; readonly requestType: MessageFns<PostStopOrderRequest>; readonly requestStream: false; readonly responseType: MessageFns<PostStopOrderResponse>; readonly responseStream: false; readonly options: {}; }; /** Получить список активных стоп-заявок по счёту. */ readonly getStopOrders: { readonly name: "GetStopOrders"; readonly requestType: MessageFns<GetStopOrdersRequest>; readonly requestStream: false; readonly responseType: MessageFns<GetStopOrdersResponse>; readonly responseStream: false; readonly options: {}; }; /** Отменить стоп-заявку. */ readonly cancelStopOrder: { readonly name: "CancelStopOrder"; readonly requestType: MessageFns<CancelStopOrderRequest>; readonly requestStream: false; readonly responseType: MessageFns<CancelStopOrderResponse>; readonly responseStream: false; readonly options: {}; }; }; }; export interface StopOrdersServiceImplementation<CallContextExt = {}> { /** Выставить стоп-заявку. */ postStopOrder(request: PostStopOrderRequest, context: CallContext & CallContextExt): Promise<DeepPartial<PostStopOrderResponse>>; /** Получить список активных стоп-заявок по счёту. */ getStopOrders(request: GetStopOrdersRequest, context: CallContext & CallContextExt): Promise<DeepPartial<GetStopOrdersResponse>>; /** Отменить стоп-заявку. */ cancelStopOrder(request: CancelStopOrderRequest, context: CallContext & CallContextExt): Promise<DeepPartial<CancelStopOrderResponse>>; } export interface StopOrdersServiceClient<CallOptionsExt = {}> { /** Выставить стоп-заявку. */ postStopOrder(request: DeepPartial<PostStopOrderRequest>, options?: CallOptions & CallOptionsExt): Promise<PostStopOrderResponse>; /** Получить список активных стоп-заявок по счёту. */ getStopOrders(request: DeepPartial<GetStopOrdersRequest>, options?: CallOptions & CallOptionsExt): Promise<GetStopOrdersResponse>; /** Отменить стоп-заявку. */ cancelStopOrder(request: DeepPartial<CancelStopOrderRequest>, options?: CallOptions & CallOptionsExt): Promise<CancelStopOrderResponse>; } type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? { [K in keyof T]?: DeepPartial<T[K]>; } : Partial<T>; interface MessageFns<T> { encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; fromJSON(object: any): T; toJSON(message: T): unknown; create(base?: DeepPartial<T>): T; fromPartial(object: DeepPartial<T>): T; } export {};