42 lines
1.7 KiB
MQL5
42 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);
|
||
|
}
|
||
|
//+------------------------------------------------------------------+
|