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
JavaScript
"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==