← К каталогу
Исходный код · ID 4052

chartcleanupengine.mqh

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Данный файл представляет собой библиотеку на языке MQL, предназначенную для управления графическим содержимым графиков торговой платформы. Библиотека предоставляет функции для удаления графических объектов и индикаторов с графиков, периодической очистки по таймеру, а также для настройки внешнего вида текущего графика. Все операции завершаются обновлением отображения графика.

Состав библиотеки

Классов: 0 · методов: 0 · конструкторов: 0 · деструкторов: 0 · отдельных функций: 4

Функции
Функция void PerformChartCleanup()

Удаляет все графические объекты со всех открытых графиков в терминале и обновляет их отображение. Индикаторы при этом не затрагиваются.

Функция void ProcessCleanupTimer(bool isEnabled, int intervalSeconds)

Организует периодический запуск очистки графиков с заданным интервалом времени. При отключении параметра не выполняет никаких действий.

Функция void ScrubChart()

Удаляет индикаторы и графические объекты с текущего графика, включая все подокна, и обновляет его отображение.

Функция void SetupChartAppearance(string symbol)

Настраивает визуальное оформление текущего графика для указанного инструмента: период, тип отображения, цвета фона, свечей, сетки и линий, а также скрывает вспомогательные элементы.

Получить полный код

Поиск по коду файла

#ifndef CHARTCLEANUPENGINE_MQH
#define CHARTCLEANUPENGINE_MQH

datetime g_cce_last_cleanup_time = 0;

void PerformChartCleanup()
{
   int totalDeleted = 0;
   int totalCharts  = 0;

   long currentChartId = ChartFirst();

   while(currentChartId >= 0)
   {
      totalCharts++;

      int deletedOnThisChart = ObjectsDeleteAll(currentChartId, -1, -1);

      if(deletedOnThisChart > 0)
         totalDeleted += deletedOnThisChart;

      ChartRedraw(currentChartId);

      currentChartId = ChartNext(currentChartId);
   }

   Print("=================================================");
   Print("MULTI-CHART CLEANUP COMPLETE");
   Print("=================================================");
   Print("Charts scanned: ", totalCharts);
   Print("Total objects deleted: ", totalDeleted);

   Alert("Multi-Chart cleanup done! ",
         totalDeleted,
         " objects deleted across ",
         totalCharts,
         " charts.");
}

void ProcessCleanupTimer(bool isEnabled, int intervalSeconds)
{
   if(!isEnabled)
      return;

   int interval = MathMax(1, intervalSeconds);

   if(g_cce_last_cleanup_time == 0)
   {
      g_cce_last_cleanup_time = TimeCurrent();
      return;
   }

   if((TimeCurrent() - g_cce_last_cleanup_time) < interval)
      return;

   g_cce_last_cleanup_time = TimeCurrent();

   PerformChartCleanup();
}

void ScrubChart()
{

   int total_main_ind = ChartIndicatorsTotal(0, 0);

   for(int i = total_main_ind - 1; i >= 0; i--)
   {
      string ind_name = Cha

Показано первые 50% кода (символов: 2352)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
235,20₽ ≈ $2.87