UNPKG

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)

80 lines (79 loc) 8.08 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return ExpertAdvisor; } }); let ExpertAdvisor = class ExpertAdvisor { /** * Returns expert id * @returns {String} expert id */ get expertId() { return this._data.expertId; } /** * Returns expert period * @returns {String} expert period */ get period() { return this._data.period; } /** * Returns expert symbol * @returns {String} expert symbol */ get symbol() { return this._data.symbol; } /** * Returns true if expert file was uploaded * @returns {Boolean} */ get fileUploaded() { return this._data.fileUploaded; } /** * Reloads expert advisor from API * (see https://metaapi.cloud/docs/provisioning/api/expertAdvisor/readExpertAdvisor/) * @returns {Promise} promise resolving when expert advisor is updated */ async reload() { this._data = await this._expertAdvisorClient.getExpertAdvisor(this._accountId, this.expertId); } /** * Updates expert advisor data * (see https://metaapi.cloud/docs/provisioning/api/expertAdvisor/updateExpertAdvisor/) * @param {NewExpertAdvisorDto} expert new expert advisor data * @returns {Promise} promise resolving when expert advisor is updated */ async update(expert) { await this._expertAdvisorClient.updateExpertAdvisor(this._accountId, this.expertId, expert); await this.reload(); } /** * Uploads an expert advisor file. EAs which use DLLs are not supported * (see https://metaapi.cloud/docs/provisioning/api/expertAdvisor/uploadEAFile/) * @param {String|Buffer} file expert advisor file * @returns {Promise} promise resolving when file upload is completed */ async uploadFile(file) { await this._expertAdvisorClient.uploadExpertAdvisorFile(this._accountId, this.expertId, file); await this.reload(); } /** * Removes expert advisor * (see https://metaapi.cloud/docs/provisioning/api/expertAdvisor/deleteExpertAdvisor/) * @returns {Promise} promise resolving when expert advisor removed */ async remove() { await this._expertAdvisorClient.deleteExpertAdvisor(this._accountId, this.expertId); } /** * Constructs an expert advisor entity * @param {ExpertAdvisorDto} data * @param accountId * @param expertAdvisorClient */ constructor(data, accountId, expertAdvisorClient){ this._data = data; this._accountId = accountId; this._expertAdvisorClient = expertAdvisorClient; } }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIjxhbm9uPiJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbi8qKlxuICogSW1wbGVtZW50cyBhbiBleHBlcnQgYWR2aXNvciBlbnRpdHlcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXhwZXJ0QWR2aXNvciB7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYW4gZXhwZXJ0IGFkdmlzb3IgZW50aXR5XG4gICAqIEBwYXJhbSB7RXhwZXJ0QWR2aXNvckR0b30gZGF0YVxuICAgKiBAcGFyYW0gYWNjb3VudElkXG4gICAqIEBwYXJhbSBleHBlcnRBZHZpc29yQ2xpZW50XG4gICAqL1xuICBjb25zdHJ1Y3RvcihkYXRhLCBhY2NvdW50SWQsIGV4cGVydEFkdmlzb3JDbGllbnQpIHtcbiAgICB0aGlzLl9kYXRhID0gZGF0YTtcbiAgICB0aGlzLl9hY2NvdW50SWQgPSBhY2NvdW50SWQ7XG4gICAgdGhpcy5fZXhwZXJ0QWR2aXNvckNsaWVudCA9IGV4cGVydEFkdmlzb3JDbGllbnQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBleHBlcnQgaWRcbiAgICogQHJldHVybnMge1N0cmluZ30gZXhwZXJ0IGlkXG4gICAqL1xuICBnZXQgZXhwZXJ0SWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEuZXhwZXJ0SWQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBleHBlcnQgcGVyaW9kXG4gICAqIEByZXR1cm5zIHtTdHJpbmd9IGV4cGVydCBwZXJpb2RcbiAgICovXG4gIGdldCBwZXJpb2QoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2RhdGEucGVyaW9kO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgZXhwZXJ0IHN5bWJvbFxuICAgKiBAcmV0dXJucyB7U3RyaW5nfSBleHBlcnQgc3ltYm9sXG4gICAqL1xuICBnZXQgc3ltYm9sKCkge1xuICAgIHJldHVybiB0aGlzLl9kYXRhLnN5bWJvbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRydWUgaWYgZXhwZXJ0IGZpbGUgd2FzIHVwbG9hZGVkXG4gICAqIEByZXR1cm5zIHtCb29sZWFufVxuICAgKi9cbiAgZ2V0IGZpbGVVcGxvYWRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGF0YS5maWxlVXBsb2FkZWQ7XG4gIH1cblxuICAvKipcbiAgICogUmVsb2FkcyBleHBlcnQgYWR2aXNvciBmcm9tIEFQSVxuICAgKiAoc2VlIGh0dHBzOi8vbWV0YWFwaS5jbG91ZC9kb2NzL3Byb3Zpc2lvbmluZy9hcGkvZXhwZXJ0QWR2aXNvci9yZWFkRXhwZXJ0QWR2aXNvci8pXG4gICAqIEByZXR1cm5zIHtQcm9taXNlfSBwcm9taXNlIHJlc29sdmluZyB3aGVuIGV4cGVydCBhZHZpc29yIGlzIHVwZGF0ZWRcbiAgICovXG4gIGFzeW5jIHJlbG9hZCgpIHtcbiAgICB0aGlzLl9kYXRhID0gYXdhaXQgdGhpcy5fZXhwZXJ0QWR2aXNvckNsaWVudC5nZXRFeHBlcnRBZHZpc29yKHRoaXMuX2FjY291bnRJZCwgdGhpcy5leHBlcnRJZCk7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyBleHBlcnQgYWR2aXNvciBkYXRhXG4gICAqIChzZWUgaHR0cHM6Ly9tZXRhYXBpLmNsb3VkL2RvY3MvcHJvdmlzaW9uaW5nL2FwaS9leHBlcnRBZHZpc29yL3VwZGF0ZUV4cGVydEFkdmlzb3IvKVxuICAgKiBAcGFyYW0ge05ld0V4cGVydEFkdmlzb3JEdG99IGV4cGVydCBuZXcgZXhwZXJ0IGFkdmlzb3IgZGF0YVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZX0gcHJvbWlzZSByZXNvbHZpbmcgd2hlbiBleHBlcnQgYWR2aXNvciBpcyB1cGRhdGVkXG4gICAqL1xuICBhc3luYyB1cGRhdGUoZXhwZXJ0KSB7XG4gICAgYXdhaXQgdGhpcy5fZXhwZXJ0QWR2aXNvckNsaWVudC51cGRhdGVFeHBlcnRBZHZpc29yKHRoaXMuX2FjY291bnRJZCwgdGhpcy5leHBlcnRJZCwgZXhwZXJ0KTtcbiAgICBhd2FpdCB0aGlzLnJlbG9hZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwbG9hZHMgYW4gZXhwZXJ0IGFkdmlzb3IgZmlsZS4gRUFzIHdoaWNoIHVzZSBETExzIGFyZSBub3Qgc3VwcG9ydGVkXG4gICAqIChzZWUgaHR0cHM6Ly9tZXRhYXBpLmNsb3VkL2RvY3MvcHJvdmlzaW9uaW5nL2FwaS9leHBlcnRBZHZpc29yL3VwbG9hZEVBRmlsZS8pXG4gICAqIEBwYXJhbSB7U3RyaW5nfEJ1ZmZlcn0gZmlsZSBleHBlcnQgYWR2aXNvciBmaWxlXG4gICAqIEByZXR1cm5zIHtQcm9taXNlfSBwcm9taXNlIHJlc29sdmluZyB3aGVuIGZpbGUgdXBsb2FkIGlzIGNvbXBsZXRlZFxuICAgKi9cbiAgYXN5bmMgdXBsb2FkRmlsZShmaWxlKSB7XG4gICAgYXdhaXQgdGhpcy5fZXhwZXJ0QWR2aXNvckNsaWVudC51cGxvYWRFeHBlcnRBZHZpc29yRmlsZSh0aGlzLl9hY2NvdW50SWQsIHRoaXMuZXhwZXJ0SWQsIGZpbGUpO1xuICAgIGF3YWl0IHRoaXMucmVsb2FkKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBleHBlcnQgYWR2aXNvclxuICAgKiAoc2VlIGh0dHBzOi8vbWV0YWFwaS5jbG91ZC9kb2NzL3Byb3Zpc2lvbmluZy9hcGkvZXhwZXJ0QWR2aXNvci9kZWxldGVFeHBlcnRBZHZpc29yLylcbiAgICogQHJldHVybnMge1Byb21pc2V9IHByb21pc2UgcmVzb2x2aW5nIHdoZW4gZXhwZXJ0IGFkdmlzb3IgcmVtb3ZlZFxuICAgKi9cbiAgYXN5bmMgcmVtb3ZlKCkge1xuICAgIGF3YWl0IHRoaXMuX2V4cGVydEFkdmlzb3JDbGllbnQuZGVsZXRlRXhwZXJ0QWR2aXNvcih0aGlzLl9hY2NvdW50SWQsIHRoaXMuZXhwZXJ0SWQpO1xuICB9XG5cbn1cbiJdLCJuYW1lcyI6WyJFeHBlcnRBZHZpc29yIiwiZXhwZXJ0SWQiLCJfZGF0YSIsInBlcmlvZCIsInN5bWJvbCIsImZpbGVVcGxvYWRlZCIsInJlbG9hZCIsIl9leHBlcnRBZHZpc29yQ2xpZW50IiwiZ2V0RXhwZXJ0QWR2aXNvciIsIl9hY2NvdW50SWQiLCJ1cGRhdGUiLCJleHBlcnQiLCJ1cGRhdGVFeHBlcnRBZHZpc29yIiwidXBsb2FkRmlsZSIsImZpbGUiLCJ1cGxvYWRFeHBlcnRBZHZpc29yRmlsZSIsInJlbW92ZSIsImRlbGV0ZUV4cGVydEFkdmlzb3IiLCJjb25zdHJ1Y3RvciIsImRhdGEiLCJhY2NvdW50SWQiLCJleHBlcnRBZHZpc29yQ2xpZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUtxQkE7OztBQUFOLElBQUEsQUFBTUEsZ0JBQU4sTUFBTUE7SUFjbkI7OztHQUdDLEdBQ0QsSUFBSUMsV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDQyxLQUFLLENBQUNELFFBQVE7SUFDNUI7SUFFQTs7O0dBR0MsR0FDRCxJQUFJRSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUNELEtBQUssQ0FBQ0MsTUFBTTtJQUMxQjtJQUVBOzs7R0FHQyxHQUNELElBQUlDLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQ0YsS0FBSyxDQUFDRSxNQUFNO0lBQzFCO0lBRUE7OztHQUdDLEdBQ0QsSUFBSUMsZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQ0gsS0FBSyxDQUFDRyxZQUFZO0lBQ2hDO0lBRUE7Ozs7R0FJQyxHQUNELE1BQU1DLFNBQVM7UUFDYixJQUFJLENBQUNKLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQ0ssb0JBQW9CLENBQUNDLGdCQUFnQixDQUFDLElBQUksQ0FBQ0MsVUFBVSxFQUFFLElBQUksQ0FBQ1IsUUFBUTtJQUM5RjtJQUVBOzs7OztHQUtDLEdBQ0QsTUFBTVMsT0FBT0MsTUFBTSxFQUFFO1FBQ25CLE1BQU0sSUFBSSxDQUFDSixvQkFBb0IsQ0FBQ0ssbUJBQW1CLENBQUMsSUFBSSxDQUFDSCxVQUFVLEVBQUUsSUFBSSxDQUFDUixRQUFRLEVBQUVVO1FBQ3BGLE1BQU0sSUFBSSxDQUFDTCxNQUFNO0lBQ25CO0lBRUE7Ozs7O0dBS0MsR0FDRCxNQUFNTyxXQUFXQyxJQUFJLEVBQUU7UUFDckIsTUFBTSxJQUFJLENBQUNQLG9CQUFvQixDQUFDUSx1QkFBdUIsQ0FBQyxJQUFJLENBQUNOLFVBQVUsRUFBRSxJQUFJLENBQUNSLFFBQVEsRUFBRWE7UUFDeEYsTUFBTSxJQUFJLENBQUNSLE1BQU07SUFDbkI7SUFFQTs7OztHQUlDLEdBQ0QsTUFBTVUsU0FBUztRQUNiLE1BQU0sSUFBSSxDQUFDVCxvQkFBb0IsQ0FBQ1UsbUJBQW1CLENBQUMsSUFBSSxDQUFDUixVQUFVLEVBQUUsSUFBSSxDQUFDUixRQUFRO0lBQ3BGO0lBbEZBOzs7OztHQUtDLEdBQ0RpQixZQUFZQyxJQUFJLEVBQUVDLFNBQVMsRUFBRUMsbUJBQW1CLENBQUU7UUFDaEQsSUFBSSxDQUFDbkIsS0FBSyxHQUFHaUI7UUFDYixJQUFJLENBQUNWLFVBQVUsR0FBR1c7UUFDbEIsSUFBSSxDQUFDYixvQkFBb0IsR0FBR2M7SUFDOUI7QUEwRUYifQ==