Info Exporter MT5
- Utilità
- Ramesh Maharjan
- Versione: 1.0
Info Exporter MT5 supporta l'esportazione di informazioni sul terminale, informazioni sul conto, cronologia delle transazioni e cronologia degli ordini in un file CSV locale, l'invio di email e l'esportazione diretta su Fogli Google tramite l'URL distribuito tramite script dell'app. È possibile scegliere tra l'esportazione in CSV, l'esportazione tramite email o l'esportazione su Fogli Google. È anche possibile modificare i nomi dei file esportati e dei fogli. Parametri di input utilizzati:
export terminal informations? : Scegliere se esportare o meno le informazioni del terminale. È possibile modificare il valore in true o false.
terminal info file or sheet name : Il valore predefinito è "Terminal_Info", ma è possibile modificarlo nel prompt di input.
export historical deals? : Scegliere se esportare o meno lo storico delle transazioni. È possibile modificare il valore in true o false. Il valore predefinito è false, ovvero non esportare.
history deals file or sheet name : Il valore predefinito è "History_Deals", ma è possibile modificarlo nel prompt di input.
export historical orders? : Scegliere se esportare o meno lo storico degli ordini. È possibile modificare il valore in true o false. Il valore predefinito è false, ovvero non esportare.
history orders file or sheet name : Il valore predefinito è "History_Orders", ma è possibile modificarlo nel prompt di input.
export account informations? : Scegliere se esportare o meno le informazioni dell'account. È possibile modificare il valore in true o false. Il valore predefinito è false, ovvero non esportare.
account info file or sheet name : Il valore predefinito è "Account_Info", ma è possibile modificarlo nel prompt di input.
do you want to write to file? : Opzione per esportare o meno i dati abilitati in un file CSV. Il valore predefinito è false, ovvero non scrivere.
do you want to send informations to email? : Opzione per esportare o meno i dati abilitati via email. Il valore predefinito è "false", ovvero non inviare email.
do you want to export to Google sheet? : Opzione per esportare o meno i dati abilitati su Google Sheet. Il valore predefinito è "false", ovvero non scrivere su Google Sheet.
Apps Script deployed url : URL di Apps Script distribuito.
Di seguito è riportato il codice di un App Script funzionante (basta copiarlo e incollarlo nella funzione 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);
}
} 