Info Exporter MT5
- Утилиты
- Ramesh Maharjan
- Версия: 1.0
Info Exporter MT5 поддерживает экспорт информации о терминале, информации о счете, истории сделок и истории заказов в локальный CSV-файл, отправку по электронной почте и экспорт непосредственно в Google Таблицы с помощью URL-адреса, развёрнутого в скрипте приложения. Вы можете выбрать экспорт в CSV, экспорт по электронной почте или экспорт в Google Таблицы. Вы также можете изменить имена экспортируемых файлов и таблиц.
Используемые входные параметры:
export terminal informations?: выбор необходимости экспорта информации о терминале. Можно изменить значение на «true» или «false».
terminal info file or sheet name : по умолчанию «Terminal_Info», но вы можете изменить его в строке ввода.
export historical deals?: выбор необходимости экспорта истории сделок. Можно изменить значение на «true» или «false». Значение по умолчанию — «false», т.е. не экспортировать.
history deals file or sheet name : по умолчанию — «History_Deals», но вы можете изменить его в строке ввода.
export history orders?: выбор необходимости экспорта истории заказов. Можно изменить значение на «true» или «false». Значение по умолчанию — «false», т.е. не экспортировать.
history orders file or sheet name : по умолчанию — «History_Orders», но вы можете изменить его в строке ввода.
export account informations? : выбор, экспортировать информацию об учётной записи или нет. Можно изменить значение на true или false. Значение по умолчанию — false, т.е. не экспортировать.
account info file or sheet name : по умолчанию — «Account_Info», но вы можете изменить значение в строке ввода.
do you want to write to file? : возможность экспортировать включённые данные в CSV-файл. Значение по умолчанию — false, т.е. не записывать.
do you want to send informations to email? : возможность экспортировать включённые данные в электронную почту. Значение по умолчанию — false, т.е. не отправлять электронное письмо.
do you want to export to Google sheet? : возможность экспортировать включённые данные в Google-таблицу. Значение по умолчанию — false, т.е. не записывать в Google-таблицу.
Apps Script deployed url: URL-адрес развёрнутого скрипта приложений.
Рабочий код скрипта Apps приведён ниже (просто скопируйте и вставьте его в функцию doPost):
function doPost(e) {
try {
// Validate input
if (!e || !e.postData || !e.postData.contents) {
throw new Error("no Input data found");
}
// Parse JSON safely
const json = JSON.parse(e.postData.contents);
const sheetName = json.sheetName || "Sheet1";
// Get sheet (with error handling)
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getSheetByName(sheetName);
if (!sheet) {
sheet = spreadsheet.insertSheet(sheetName);
}
// formatting data to be written in sheet
var terminalInfo = json.data.split("#;#");
var insertingData = [];
for(var i = 0; i < terminalInfo.length; i++) {
insertingData.push(terminalInfo[i].split("#:#"))
}
var startRow = 1;
var startColumn = 1;
var numRows = insertingData.length;
var numColumns = insertingData[0].length;
var range = sheet.getRange(startRow, startColumn, numRows, numColumns);
// Overwrite the rows with the new data
range.setValues(insertingData);
// Return success
return ContentService.createTextOutput(JSON.stringify({
status: "success",
message: "Data written to sheet"
})).setMimeType(ContentService.MimeType.JSON);
} catch (err) {
// Return error details
return ContentService.createTextOutput(JSON.stringify({
status: "error",
message: err.message
})).setMimeType(ContentService.MimeType.JSON);
}
} 