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)
107 lines (92 loc) • 3.47 kB
TypeScript
import MetaApiClient from "../metaApi.client";
import { Buffer } from "buffer";
/**
* metaapi.cloud expert advisor API client (see https://metaapi.cloud/docs/provisioning/)
*/
export default class ExpertAdvisorClient extends MetaApiClient {
/**
* Retrieves expert advisors by account id (see
* https://metaapi.cloud/docs/provisioning/api/expertAdvisor/readExpertAdvisors/)
* Method is accessible only with API access token
* @param {string} accountId Metatrader account id
* @returns {Promise<ExpertAdvisorDto[]>} promise resolving with expert advisors found
*/
getExpertAdvisors(accountId: string): Promise<ExpertAdvisorDto[]>;
/**
* Retrieves an expert advisor by id (see
* https://metaapi.cloud/docs/provisioning/api/expertAdvisor/readExpertAdvisor/).
* Thrown an error if expert is not found. Method is accessible only with API access token
* @param {string} accountId Metatrader account id
* @param {string} expertId expert advisor id
* @returns {Promise<ExpertAdvisorDto>} promise resolving with expert advisor found
*/
getExpertAdvisor(accountId: string, expertId: string): Promise<ExpertAdvisorDto>;
/**
* Updates or creates expert advisor data (see
* https://metaapi.cloud/docs/provisioning/api/expertAdvisor/updateExpertAdvisor/).
* Method is accessible only with API access token
* @param {string} accountId Metatrader account id
* @param {string} expertId expert id
* @param {NewExpertAdvisorDto} expert new expert advisor data
* @returns {Promise} promise resolving when expert advisor is updated
*/
updateExpertAdvisor(accountId: string, expertId: string, expert: NewExpertAdvisorDto): Promise<any>;
/**
* Uploads an expert advisor file (see https://metaapi.cloud/docs/provisioning/api/expertAdvisor/uploadEAFile/)
* Method is accessible only with API access token
* @param {string} accountId Metatrader account id
* @param {string} expertId expert id
* @param {string|Buffer} file path to a file to upload or buffer containing file contents
* @returns {Promise} promise resolving when file upload is completed
*/
uploadExpertAdvisorFile(accountId: string, expertId: string, file: string | Buffer): Promise<any>;
/**
* Deletes an expert advisor (see https://metaapi.cloud/docs/provisioning/api/expertAdvisor/deleteExpertAdvisor/)
* Method is accessible only with API access token
* @param {string} accountId Metatrader account id
* @param {string} expertId expert id
* @returns {Promise} promise resolving when expert advisor is deleted
*/
deleteExpertAdvisor(accountId: string, expertId: string): Promise<any>;
}
/**
* Expert advisor model
*/
export declare type ExpertAdvisorDto = {
/**
* expert advisor id
*/
expertId: string,
/**
* expert advisor period
*/
period: string,
/**
* expert advisor symbol
*/
symbol: string,
/**
* true if expert file was uploaded
*/
fileUploaded: string
}
/**
* Updated expert advisor data
*/
export declare type NewExpertAdvisorDto = {
/**
* expert advisor symbol.
* For MetaTrader 4 allowed periods are 1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w, 1mn
* For MetaTrader 5 allowed periods are 1m, 2m, 3m, 4m, 5m, 6m, 10m, 12m, 15m, 20m, 30m, 1h, 2h, 3h, 4h, 6h, 8h, 12h,
* 1d, 1w, 1mn
*/
period: string,
/**
* expert advisor period
*/
symbol: string,
/**
* base64-encoded preset file
*/
preset: string
}