Info Exporter MT5
- 实用工具
- 版本: 1.0
MT5 信息导出器支持将终端信息、账户信息、历史交易和历史订单导出到本地 csv 文件,发送电子邮件,并使用部署的脚本 URL 将其直接导出到 Google 表格。 您可以选择导出到 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 historical 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 Sheet 的选项。默认值为 false,即不写入 Google Sheet。
Apps Script deployed url #: 已部署的 Apps 脚本 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);
}
}