MQL5Book/Scripts/p5/ObjectFinder.mq5
super.admin 1c8e83ce31 convert
2025-05-30 16:09:41 +02:00

41 lines
1.7 KiB
MQL5

//+------------------------------------------------------------------+
//| ObjectFinder.mq5 |
//| Copyright 2021, MetaQuotes Ltd. |
//| https://www.mql5.com |
//| |
//| The script finds and lists all objects on all charts. |
//+------------------------------------------------------------------+
#include "..\..\Include\Periods.mqh"
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
int count = 0;
long id = ChartFirst();
// loop through charts
while(id != -1)
{
PrintFormat("%s %s (%lld)", ChartSymbol(id), PeriodToString(ChartPeriod(id)), id);
const int win = (int)ChartGetInteger(id, CHART_WINDOWS_TOTAL);
// loop through windows
for(int k = 0; k < win; ++k)
{
PrintFormat(" Window %d", k);
const int n = ObjectsTotal(id, k);
// loop through objects
for(int i = 0; i < n; ++i)
{
const string name = ObjectName(id, i, k);
const ENUM_OBJECT type = (ENUM_OBJECT)ObjectGetInteger(id, name, OBJPROP_TYPE);
PrintFormat(" %s %s", EnumToString(type), name);
++count;
}
}
id = ChartNext(id);
}
PrintFormat("%d objects found", count);
}
//+------------------------------------------------------------------+