Перейти к содержанию

Скрипт для удаления мусора с графиков


Lebowski

Рекомендуемые сообщения

Скрипт для удаления мусора с графиков Опубликовано (изменено)

Бесило меня несовершенство MT4. Если, например, на тестовом терминале установлено 100500 ботов, часть из которых делает пометки на графике (стрелки, надписи, трендовые линии и т.п.), то:

1. Терминал начинает выедать много оперативной памяти;

2. В текущий профиль (MQL4\Profiles) все эти данные записываются и профили могут достигать десятков, а то и сотен мегабайт;

3. Из-за пункта 2 при перезагрузке терминала все эти данные должны быть вновь нанесены на графики. И MT4 иногда с этим не справляется, когда объём данных слишком велик. И он попросту или не загружает некоторые советники на график или даже загружает советник, но не осиливает при этом его настройки, оставляя дефолтные. Каждый график приходится перепроверять вручную, всё ли загрузилось и верно ли пресет загружен.

 

Решать данную беду можно было разными способами. Всё работает, но утомительно. Например, можно вручную с каждого графика удалять все объекты периодически. Можно сохранить профиль и вручную удалить из каждого файла графика (.chr) в профиле удалить все объекты. 

 

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

Перетаскивается или исполняется на любом графике. Сканирует при этом все открытые графики и удаляет километры объектов, не влияющих не работу, но жрущих память.

 

Может кому-то будет полезен. 

 

 

 

DeleteAllGarbageObjects.ex4

Изменено пользователем Lebowski
  • Лайк 5
  • Спасибо 2
  • Огонь! 2
Ссылка на сообщение
Поделиться на другие сайты

Скрипт для удаления мусора с графиков Опубликовано
10 часов назад, Lebowski сказал:

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

неужели это может жрать память?. может из-за этого тормозить МТ4?

Ссылка на сообщение
Поделиться на другие сайты

Скрипт для удаления мусора с графиков Опубликовано
26 минут назад, Дервиш сказал:

неужели это может жрать память?. может из-за этого тормозить МТ4?

Любой объект потребляет ресурсы. Но если два графика открыто, которые редко рисуют, то это не будет заметно. Тормозить из-за этого в работе не будет особо. Это при рестарте сильно ощутимо. Иногда настолько, что терминал не может всё прогрузить и бросает эту затею. У меня не раз бывало такое на демках с 20+ графиками, которые работали подолгу и накопили в файлах профиля объектов на десятки мегабайт. Потому и начал искать причину.

  • Спасибо 1
Ссылка на сообщение
Поделиться на другие сайты

Скрипт для удаления мусора с графиков Опубликовано (изменено)
5 часов назад, Lebowski сказал:

Любой объект потребляет ресурсы. Но если два графика открыто, которые редко рисуют, то это не будет заметно. Тормозить из-за этого в работе не будет особо. Это при рестарте сильно ощутимо. Иногда настолько, что терминал не может всё прогрузить и бросает эту затею.

обычно у меня открыто от 1 до 9 графиков на мониторе, но вкладок графиков может быть до 20-ти. (пример ниже) 

Из индикаторов всего лишь:

1. АТР (ATR_DAY.ex4)

2. торговых сессий (i-Sessions-A(b)+)

3. вертикальные обьемы (Better Volumes 1.4)

4.спред

5. выход новостей (TrulyNews Indicator 2.3.80-1)

6. Круглых уровней (Key Levels)

трендлиниями, фоном балуюсь очень деко, в основном размечаю уровни, скромненько, так.

 

Все работало как швейцарские часы, но, где-то с месяц, терминал (мт4) стал тормозить, причем на выходе самых важных новостей. Сначала, грешил на провайдера интернета, затем на свой комп, затем на брокера (хотел менять брокера (Оанда), потом, в прошлый четверг, решил торговать только на одном и абсолютно голом графике, работает быстро, как и раньше, но жутко неудобно.

Что делать?

Мусор на графике.jpg

Изменено пользователем Дервиш
Ссылка на сообщение
Поделиться на другие сайты

Скрипт для удаления мусора с графиков Опубликовано
1 минуту назад, Дервиш сказал:

Что делать?

Без понятия. Тут немного другая ситуация всё же.

Могу лишь предположить, что какой-то из индикаторов может тормозить. Вряд ли прямо все. Отсеивать методом исключения. Выявленный заменить чем-нибудь аналогичным.

Но раз уж сильнее всего тормозит на новостях, то, вероятный кандидат - именно новостник.

P.S. открытое окошко market watch (особенно с огромным списком) тоже немного отнимает ресурсов.

  • Огонь! 1
Ссылка на сообщение
Поделиться на другие сайты

Скрипт для удаления мусора с графиков Опубликовано (изменено)
1 час назад, Lebowski сказал:

P.S. открытое окошко market watch (особенно с огромным списком) тоже немного отнимает ресурсов.

Спойлер

Согласен, оно мне не нужно, держу только для времени терминал, секундомера, т.к. я записываю видео сделок, выходы новостей, удобно смотреть на какой секунде/минуте спред расширяется/сужается, импульс пошел или затухает и т.д. 

 

Изменено пользователем Дервиш
Ссылка на сообщение
Поделиться на другие сайты

  • 8 months later...
Скрипт для удаления мусора с графиков Опубликовано

Здравствуйте. Вопрос к автору скрипта: возможно ли расширить список удаляемых элементов, добавив в него горизонтальные уровни, сетку фибо и графический элемент прямоугольник?

Ссылка на сообщение
Поделиться на другие сайты

Скрипт для удаления мусора с графиков Опубликовано
21 минуту назад, the 7th Guest сказал:

Спасибо! В принципе, почти то, что нужно хотя этот скрипт немного по другому работает, но в целом норм. Единственным минус в том, что этот удаляет объекты только на текущем графике, а тот скрипт удаляет разом со всех открытых графиков.

Ссылка на сообщение
Поделиться на другие сайты

Скрипт для удаления мусора с графиков Опубликовано
3 часа назад, KIT_777 сказал:

Здравствуйте. Вопрос к автору скрипта: возможно ли расширить список удаляемых элементов, добавив в него горизонтальные уровни, сетку фибо и графический элемент прямоугольник?

На всякий слуай ещё добавил скрипт, который удаляет вообще все объекты из всех окон (DeleteAllObjects.ex4)

DeleteAllObjects.ex4 DeleteAllGarbageObjects.ex4

  • Лайк 2
  • Спасибо 1
Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...