@tinkoff/invest-js
Version:
T-Invest OpenAPI Client
196 lines (195 loc) • 9.31 kB
TypeScript
import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
import { type CallContext, type CallOptions } from "nice-grpc-common";
import { Page, PageResponse, Quotation } from "./common";
/** Тип стратегии. */
export declare enum StrategyType {
/** STRATEGY_TYPE_UNSPECIFIED - Не определен. */
STRATEGY_TYPE_UNSPECIFIED = 0,
/** STRATEGY_TYPE_TECHNICAL - Техническая стратегия. */
STRATEGY_TYPE_TECHNICAL = 1,
/** STRATEGY_TYPE_FUNDAMENTAL - Фундаментальная стратегия. */
STRATEGY_TYPE_FUNDAMENTAL = 2,
UNRECOGNIZED = -1
}
export declare function strategyTypeFromJSON(object: any): StrategyType;
export declare function strategyTypeToJSON(object: StrategyType): string;
/** Направление сигнала. */
export declare enum SignalDirection {
/** SIGNAL_DIRECTION_UNSPECIFIED - Не определен. */
SIGNAL_DIRECTION_UNSPECIFIED = 0,
/** SIGNAL_DIRECTION_BUY - Покупка. */
SIGNAL_DIRECTION_BUY = 1,
/** SIGNAL_DIRECTION_SELL - Продажа. */
SIGNAL_DIRECTION_SELL = 2,
UNRECOGNIZED = -1
}
export declare function signalDirectionFromJSON(object: any): SignalDirection;
export declare function signalDirectionToJSON(object: SignalDirection): string;
/** Статус сигнала. */
export declare enum SignalState {
/** SIGNAL_STATE_UNSPECIFIED - Не определен. */
SIGNAL_STATE_UNSPECIFIED = 0,
/** SIGNAL_STATE_ACTIVE - Активный сигнал. */
SIGNAL_STATE_ACTIVE = 1,
/** SIGNAL_STATE_CLOSED - Закрытый сигнал. */
SIGNAL_STATE_CLOSED = 2,
/** SIGNAL_STATE_ALL - Все состояния. */
SIGNAL_STATE_ALL = 3,
UNRECOGNIZED = -1
}
export declare function signalStateFromJSON(object: any): SignalState;
export declare function signalStateToJSON(object: SignalState): string;
/** Запрос стратегий. */
export interface GetStrategiesRequest {
/** Идентификатор стратегии */
strategyId?: string | undefined;
}
/** Стратегии */
export interface GetStrategiesResponse {
strategies: Strategy[];
}
/** Стратегия */
export interface Strategy {
/** Идентификатор стратегии. */
strategyId: string;
/** Название стратегии. */
strategyName: string;
/** Описание стратегии. */
strategyDescription?: string | undefined;
/** Ссылка на страницу с описанием стратегии. */
strategyUrl?: string | undefined;
/** Тип стратегии. */
strategyType: StrategyType;
/** Количество активных сигналов. */
activeSignals: number;
/** Общее количество сигналов. */
totalSignals: number;
/** Среднее время нахождения сигнала в позиции. */
timeInPosition: number;
/** Средняя доходность сигнала в стратегии. */
averageSignalYield: Quotation | undefined;
/** Средняя доходность сигналов в стратегии за последний год. */
averageSignalYieldYear: Quotation | undefined;
/** Доходность стратегии. */
yield: Quotation | undefined;
/** Доходность стратегии за последний год. */
yieldYear: Quotation | undefined;
}
/** Запрос сигналов. */
export interface GetSignalsRequest {
/** Идентификатор сигнала. */
signalId?: string | undefined;
/** Идентификатор стратегии. */
strategyId?: string | undefined;
/** Тип стратегии. */
strategyType?: StrategyType | undefined;
/** Идентификатор бумаги */
instrumentUid?: string | undefined;
/** Дата начала запрашиваемого интервала в часовом поясе UTC. */
from?: Date | undefined;
/** Дата конца запрашиваемого интервала в часовом поясе UTC. */
to?: Date | undefined;
/** Направление сигнала. */
direction?: SignalDirection | undefined;
/** Состояние сигнала. */
active?: SignalState | undefined;
/** Настройки пагинации. */
paging?: Page | undefined;
}
/** Сигналы. */
export interface GetSignalsResponse {
/** Массив сигналов. */
signals: Signal[];
/** Данные по пагинации. */
paging: PageResponse | undefined;
}
/** Сигнал. */
export interface Signal {
/** Идентификатор сигнала. */
signalId: string;
/** Идентификатор стратегии. */
strategyId: string;
/** Название стратегии. */
strategyName: string;
/** Идентификатор бумаги. */
instrumentUid: string;
/** Дата и время создания сигнала в часовом поясе UTC. */
createDt: Date | undefined;
/** Направление сигнала */
direction: SignalDirection;
/** Цена бумаги на момент формирования сигнала */
initialPrice: Quotation | undefined;
/** Дополнительная информация о сигнале. */
info?: string | undefined;
/** Название сигнала. */
name: string;
/** Целевая цена. */
targetPrice: Quotation | undefined;
/** Дата и время дедлайна сигнала в часовом поясе UTC. */
endDt: Date | undefined;
/** Вероятность сигнала. */
probability?: number | undefined;
/** Порог закрытия сигнала по стоплосс. */
stoploss?: Quotation | undefined;
/** Цена закрытия сигнала. */
closePrice?: Quotation | undefined;
/** Дата и время закрытия сигнала в часовом поясе UTC. */
closeDt?: Date | undefined;
}
export declare const GetStrategiesRequest: MessageFns<GetStrategiesRequest>;
export declare const GetStrategiesResponse: MessageFns<GetStrategiesResponse>;
export declare const Strategy: MessageFns<Strategy>;
export declare const GetSignalsRequest: MessageFns<GetSignalsRequest>;
export declare const GetSignalsResponse: MessageFns<GetSignalsResponse>;
export declare const Signal: MessageFns<Signal>;
/** Сервис для получения технических сигналов и мнений аналитиков по инструментам */
export type SignalServiceDefinition = typeof SignalServiceDefinition;
export declare const SignalServiceDefinition: {
readonly name: "SignalService";
readonly fullName: "tinkoff.public.invest.api.contract.v1.SignalService";
readonly methods: {
/** Запросить стратегии. */
readonly getStrategies: {
readonly name: "GetStrategies";
readonly requestType: MessageFns<GetStrategiesRequest>;
readonly requestStream: false;
readonly responseType: MessageFns<GetStrategiesResponse>;
readonly responseStream: false;
readonly options: {};
};
/** Запросить сигналы. */
readonly getSignals: {
readonly name: "GetSignals";
readonly requestType: MessageFns<GetSignalsRequest>;
readonly requestStream: false;
readonly responseType: MessageFns<GetSignalsResponse>;
readonly responseStream: false;
readonly options: {};
};
};
};
export interface SignalServiceImplementation<CallContextExt = {}> {
/** Запросить стратегии. */
getStrategies(request: GetStrategiesRequest, context: CallContext & CallContextExt): Promise<DeepPartial<GetStrategiesResponse>>;
/** Запросить сигналы. */
getSignals(request: GetSignalsRequest, context: CallContext & CallContextExt): Promise<DeepPartial<GetSignalsResponse>>;
}
export interface SignalServiceClient<CallOptionsExt = {}> {
/** Запросить стратегии. */
getStrategies(request: DeepPartial<GetStrategiesRequest>, options?: CallOptions & CallOptionsExt): Promise<GetStrategiesResponse>;
/** Запросить сигналы. */
getSignals(request: DeepPartial<GetSignalsRequest>, options?: CallOptions & CallOptionsExt): Promise<GetSignalsResponse>;
}
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 {};