mirror of
https://github.com/softwaredevelop/mql5.git
synced 2026-07-27 20:47:44 +00:00
new files added
This commit is contained in:
@@ -0,0 +1,126 @@
|
||||
//+------------------------------------------------------------------+
|
||||
//| Workspace_Loader_Pro.mq5 |
|
||||
//| Copyright 2025, xxxxxxxx|
|
||||
//+------------------------------------------------------------------+
|
||||
#property copyright "Copyright 2025, xxxxxxxx"
|
||||
#property version "2.00" // Configurable via Inputs/.set files
|
||||
#property description "Opens a configurable set of charts and templates for selected symbols."
|
||||
#property script_show_inputs
|
||||
|
||||
//--- Input Parameters
|
||||
input string InpSymbols = "EURUSD,USDJPY"; // Comma-separated symbols
|
||||
|
||||
input group "Chart Configuration 1"
|
||||
input ENUM_TIMEFRAMES InpPeriod_1 = PERIOD_M15;
|
||||
input string InpTemplate_1 = "Default.tpl"; // Template Name (empty to skip)
|
||||
|
||||
input group "Chart Configuration 2"
|
||||
input ENUM_TIMEFRAMES InpPeriod_2 = PERIOD_M15;
|
||||
input string InpTemplate_2 = "MyTemplates\\trend.ha.base.tpl";
|
||||
|
||||
input group "Chart Configuration 3"
|
||||
input ENUM_TIMEFRAMES InpPeriod_3 = PERIOD_CURRENT;
|
||||
input string InpTemplate_3 = "";
|
||||
|
||||
input group "Chart Configuration 4"
|
||||
input ENUM_TIMEFRAMES InpPeriod_4 = PERIOD_CURRENT;
|
||||
input string InpTemplate_4 = "";
|
||||
|
||||
input group "Chart Configuration 5"
|
||||
input ENUM_TIMEFRAMES InpPeriod_5 = PERIOD_CURRENT;
|
||||
input string InpTemplate_5 = "";
|
||||
|
||||
input group "Chart Configuration 6"
|
||||
input ENUM_TIMEFRAMES InpPeriod_6 = PERIOD_CURRENT;
|
||||
input string InpTemplate_6 = "";
|
||||
|
||||
input group "Chart Configuration 7"
|
||||
input ENUM_TIMEFRAMES InpPeriod_7 = PERIOD_CURRENT;
|
||||
input string InpTemplate_7 = "";
|
||||
|
||||
input group "Chart Configuration 8"
|
||||
input ENUM_TIMEFRAMES InpPeriod_8 = PERIOD_CURRENT;
|
||||
input string InpTemplate_8 = "";
|
||||
|
||||
//+------------------------------------------------------------------+
|
||||
//| Script program start function |
|
||||
//+------------------------------------------------------------------+
|
||||
void OnStart()
|
||||
{
|
||||
string symbols[];
|
||||
int count = StringSplit(InpSymbols, ',', symbols);
|
||||
|
||||
if(count <= 0)
|
||||
{
|
||||
Print("Error: No symbols specified.");
|
||||
return;
|
||||
}
|
||||
|
||||
// Collect configs into arrays for looping
|
||||
ENUM_TIMEFRAMES periods[8];
|
||||
string templates[8];
|
||||
|
||||
periods[0] = InpPeriod_1;
|
||||
templates[0] = InpTemplate_1;
|
||||
periods[1] = InpPeriod_2;
|
||||
templates[1] = InpTemplate_2;
|
||||
periods[2] = InpPeriod_3;
|
||||
templates[2] = InpTemplate_3;
|
||||
periods[3] = InpPeriod_4;
|
||||
templates[3] = InpTemplate_4;
|
||||
periods[4] = InpPeriod_5;
|
||||
templates[4] = InpTemplate_5;
|
||||
periods[5] = InpPeriod_6;
|
||||
templates[5] = InpTemplate_6;
|
||||
periods[6] = InpPeriod_7;
|
||||
templates[6] = InpTemplate_7;
|
||||
periods[7] = InpPeriod_8;
|
||||
templates[7] = InpTemplate_8;
|
||||
|
||||
for(int i = 0; i < count; i++)
|
||||
{
|
||||
string symbol = symbols[i];
|
||||
StringTrimLeft(symbol);
|
||||
StringTrimRight(symbol);
|
||||
|
||||
if(symbol == "")
|
||||
continue;
|
||||
|
||||
// Check if symbol exists
|
||||
if(!SymbolInfoInteger(symbol, SYMBOL_SELECT))
|
||||
{
|
||||
if(!SymbolSelect(symbol, true))
|
||||
{
|
||||
Print("Error: Symbol '", symbol, "' not found.");
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// Open charts for this symbol
|
||||
for(int j = 0; j < 8; j++)
|
||||
{
|
||||
// Skip empty slots
|
||||
if(templates[j] == "")
|
||||
continue;
|
||||
|
||||
long chart_id = ChartOpen(symbol, periods[j]);
|
||||
if(chart_id > 0)
|
||||
{
|
||||
if(!ChartApplyTemplate(chart_id, templates[j]))
|
||||
{
|
||||
Print("Error applying template '", templates[j], "' to ", symbol);
|
||||
}
|
||||
else
|
||||
{
|
||||
Print("Opened ", symbol, " ", EnumToString(periods[j]), " with ", templates[j]);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Print("Error opening chart for ", symbol);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
//+------------------------------------------------------------------+
|
||||
//+------------------------------------------------------------------+
|
||||
Reference in New Issue
Block a user