metaapi.cloud-sdk
Version:
SDK for MetaApi, a professional cloud forex API which includes MetaTrader REST API and MetaTrader websocket API. Supports both MetaTrader 5 (MT5) and MetaTrader 4 (MT4). CopyFactory copy trading API included. (https://metaapi.cloud)
86 lines (73 loc) • 3.84 kB
TypeScript
import MetatraderAccountClient, { AccountsFilter, NewMetatraderAccountDto, MetatraderAccountIdDto } from "../clients/metaApi/metatraderAccount.client";
import MetaApiWebsocketClient from "../clients/metaApi/metaApiWebsocket.client";
import ConnectionRegistry from "./connectionRegistry";
import ExpertAdvisorClient from "../clients/metaApi/expertAdvisor.client";
import HistoricalMarketDataClient from "../clients/metaApi/historicalMarketData.client";
import MetatraderAccount from "./metatraderAccount";
import MetatraderAccountReplica from './metatraderAccountReplica';
/**
* Exposes MetaTrader account API logic to the consumers
*/
export default class MetatraderAccountApi {
/**
* Constructs a MetaTrader account API instance
* @param {MetatraderAccountClient} metatraderAccountClient MetaTrader account REST API client
* @param {MetaApiWebsocketClient} metaApiWebsocketClient MetaApi websocket client
* @param {ConnectionRegistry} connectionRegistry metatrader account connection registry
* @param {ExpertAdvisorClient} expertAdvisorClient expert advisor REST API client
* @param {HistoricalMarketDataClient} historicalMarketDataClient historical market data HTTP API client
* @param {string} application application name
*/
constructor(metatraderAccountClient: MetatraderAccountClient, metaApiWebsocketClient: MetaApiWebsocketClient, connectionRegistry: ConnectionRegistry, expertAdvisorClient: ExpertAdvisorClient,
historicalMarketDataClient: HistoricalMarketDataClient, application: string);
/**
* Returns trading accounts, provides pagination in infinite scroll style
* @param {AccountsFilter} [accountsFilter] optional filter
* @return {Promise<Array<MetatraderAccount>>} promise resolving with an array of MetaTrader account entities
*/
getAccountsWithInfiniteScrollPagination(accountsFilter?: AccountsFilter): Promise<Array<MetatraderAccount>>;
/**
* Returns trading accounts and count, provides pagination in a classic style
* @param {AccountsFilter} [accountsFilter] optional filter
* @return {Promise<MetatraderAccountList>} promise resolving with an array of MetaTrader account entities and count
*/
getAccountsWithClassicPagination(accountsFilter?: AccountsFilter): Promise<MetatraderAccountList>;
/**
* Returns trading account by id
* @param {string} accountId MetaTrader account id
* @return {Promise<MetatraderAccount>} promise resolving with MetaTrader account entity
*/
getAccount(accountId: string): Promise<MetatraderAccount>;
/**
* Returns trading account replica by trading account id and replica id
* @param {string} accountId MetaTrader primary account id
* @param {string} replicaId MetaTrader account replica id
* @return {Promise<MetatraderAccountReplica>} promise resolving with MetaTrader account replica found
*/
getAccountReplica(accountId: string, replicaId: string): Promise<MetatraderAccountReplica>;
/**
* Returns replicas for a trading account
* @param {string} accountId Primary account id
* @return {Promise<Array<MetatraderAccountReplica>>} promise resolving with MetaTrader account replicas found
*/
getAccountReplicas(accountId: string): Promise<Array<MetatraderAccountReplica>>;
/**
* Adds a trading account and starts a cloud API server for the trading account
* @param {NewMetatraderAccountDto} account MetaTrader account data
* @return {Promise<MetatraderAccount>} promise resolving with created MetaTrader account entity
*/
createAccount(account: NewMetatraderAccountDto): Promise<MetatraderAccount>;
}
/**
* MetaTrader account list entity
*/
export declare type MetatraderAccountList = {
/**
* MetaTrader accounts count
*/
count: number,
/**
* MetaTrader account entities list
*/
items: Array<MetatraderAccount>,
}