Лучше всего закрыть терминал и почистить папку одну. Тогда терминал стартанет без советников и графиков.
set Terminal=C:\Users\komandaa\AppData\Roaming\MetaQuotes\Terminal\FB4FF8BAB032FF837E76B3D23E62799B
del /f /s /q %Terminal%\MQL5\Profiles\Charts\Default\*.chr
TIMEOUT /T 30
start C:\FINAM_IIS\terminal64.lnk Если нужно при открытом терминале. То вот пример скрипта закрывающего все графики без советников.
//+------------------------------------------------------------------+ //| Закрываем Графики без советников. | //+------------------------------------------------------------------+ int CloseAllChartBezSovetnikov() { long FirstChart=ChartFirst(); if( FirstChart == -1 ) { // Print("Ф CloseAllChartBezSovetnikov Графиков нет."); return 0; // Чартов нет. } int ZakritoChatClose=0; int NeSmogliZakritChartov=0; long NextChart=FirstChart; for(int i=0;i<10000;i++) { //--- Закрываем чарт если на нем нет советников. if( StringLen(ChartGetString(NextChart,CHART_EXPERT_NAME)) < 3 && !ChartGetInteger(NextChart,CHART_IS_MAXIMIZED) ) { ResetLastError(); if( ChartClose(NextChart) ) ZakritoChatClose++; else { Print("Не удалось закрыть пустой график. ",GetLastError()); NeSmogliZakritChartov++; } } NextChart=ChartNext(NextChart); if(NextChart == -1 ) break; } if( ZakritoChatClose > 0 || NeSmogliZakritChartov > 0 ) Print("ZakritoChatClose=",ZakritoChatClose," NeSmogliZakritChartov=",NeSmogliZakritChartov); return ZakritoChatClose; }
int GetCharts( long &Charts[] ) { ArrayFree(Charts); for (long Chart = ChartFirst(); Chart != -1; Chart = ChartNext(Chart)) Charts[ArrayResize(Charts, ArraySize(Charts) + 1) - 1] = Chart; return(ArraySize(Charts)); } // Если не удалось закрыть все чарты, то основной чарт не закрывается. bool CloseAllCharts( void ) { bool Res = true; long Charts[]; for (uint i = GetCharts(Charts); (bool)i--;) if (Charts[i] != ChartID()) Res |= ChartClose(Charts[i]); return(Res && ChartClose()); } void OnStart() { Alert(CloseAllCharts()); }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
#include <Charts\Chart.mqh>
void CloseAllCharts()
{
int totalCharts = WindowsTotal() ;
for(int i = totalCharts - 1; i >= 0; i--)
{
long chartID = ChartID(i);
ChartClose(chartID);
}
}
Скрипт закрытия всех графиков. Не работает. Такое в Errors - https://i.imgur.com/XbdlncD.png
Хотя взято из документации.
'WindowsTotal' - undeclared identifier