new files added

This commit is contained in:
Toh4iem9
2026-05-02 14:24:47 +02:00
parent 2309cb4e4c
commit 30d47c5086
@@ -0,0 +1,76 @@
//+------------------------------------------------------------------+
//| Market_Calendar_Discovery.mq5 |
//| Event Dictionary Exporter for QuantScan |
//| Copyright 2026, xxxxxxxx|
//+------------------------------------------------------------------+
#property copyright "Copyright 2026, xxxxxxxx"
#property version "1.00"
#property description "Exports the entire MT5 Economic Calendar Dictionary to CSV."
#property script_show_inputs
// Target countries based on our portfolio
string g_target_countries[] = {"US", "EU", "DE", "GB", "JP", "CH", "AU"};
//+------------------------------------------------------------------+
//| Script Start |
//+------------------------------------------------------------------+
void OnStart()
{
string filename = "Calendar_Discovery.csv";
int file_handle = FileOpen(filename, FILE_CSV|FILE_WRITE|FILE_ANSI, ";");
if(file_handle == INVALID_HANDLE)
{
Print("Error opening CSV for writing.");
return;
}
// Write CSV Header
FileWrite(file_handle, "COUNTRY", "SECTOR", "IMPORTANCE", "EVENT_NAME", "EVENT_ID");
int total_events_found = 0;
// Iterate through our target countries
for(int c = 0; c < ArraySize(g_target_countries); c++)
{
string current_country = g_target_countries[c];
MqlCalendarEvent events[];
// Fetch all event definitions for the specific country
if(CalendarEventByCountry(current_country, events))
{
int events_count = ArraySize(events);
total_events_found += events_count;
for(int i = 0; i < events_count; i++)
{
// Convert Enums to readable strings
string sector_str = EnumToString(events[i].sector);
string importance_str = EnumToString(events[i].importance);
// Clean the event name to prevent CSV structure breaking
string event_name = events[i].name;
StringReplace(event_name, ";", " ");
// Write data row
FileWrite(file_handle,
current_country,
sector_str,
importance_str,
event_name,
IntegerToString(events[i].id)
);
}
PrintFormat("Exported %d events for %s", events_count, current_country);
}
else
{
PrintFormat("Failed to retrieve events for %s or no events available.", current_country);
}
}
FileClose(file_handle);
PrintFormat("Discovery complete. Total events mapped: %d. File saved as: %s", total_events_found, filename);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+