Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А символы ':', ';', '<', '=', '>', '?' и те, у кого коды в диапазоне 70..7F, нормально парсятся? Или они тоже цифры?
Fórum de negociação, sistemas de negociação automatizados e testes de estratégias de negociação
Bibliotecas: JSON Library for LLMs
fxsaber, 2026.02.19 23:12
В приемы работы
сейчас ssd m2 продаются на 16gb intel optane(оригинал), новые 150 запись без снижения, и чтение около 900, ресурс почти вечный для 16gb - 180tb
если кому хватает 16gb для тестера и слот есть (или в PCI через переходник) хороший решение
цена чуть меньше 400р! искать на озоне M10 16gb
кто-то под кеш системы берет, ресурс почти вечный
Нужно создать копию реального символа в кастомный. Для этого нужно перенести в кастомный всю баровую историю.
И нужно знать, возможно это сделать или нет. Для этого написал такую функцию.
Есть вариант более изящный, чтобы выяснить, доступны все бары или нет?
Описание:
В настоящее время в MQL5 советник строго привязан к графику, на котором он работает. Не существует собственного, управляемого событиями способа обнаружить, когда пользователь переключает фокус (кликает) между разными вкладками графиков в терминале, если только советник не присутствует на каждом графике.
Хотя высокочастотный OnTimer (например, 50 мс) может опрашивать CHART_BRING_TO_TOP, это неэффективно и отнимает много ресурсов при управлении большим количеством графиков.
Предлагаемое решение:
Ввести новый обработчик события: void OnChartSwitch(long focusedChartID, string symbol, ENUM_TIMEFRAME period).
Это событие должно:
Срабатывать каждый раз, когда пользователь щелкает на другой вкладке графика в терминале.
Быть доступным для любого советника, запущенного в терминале, независимо от того, к какому графику советник физически привязан (или, по крайней мере, предоставлять глобальное свойство графика, доступное через OnChartEvent).
Пример использования:
Многосимвольные приборные панели: Позволяет одному советнику-контроллеру синхронизировать внешние инструменты (через DLL/Named Pipes) или панели GUI мгновенно, когда трейдер перемещается по своему Market Watch или открытым графикам.
Динамический анализ: Синхронизация внешних систем управления ордерами (OMS) с текущим символом без необходимости прикреплять советника к десяткам открытых окон.
Преимущества:
Значительное снижение нагрузки на процессор по сравнению с опросом на основе таймера и гораздо более отзывчивая архитектура "Push" для современных торговых установок.
Тема: Feature Request: Внедрение обработчика события OnChartSwitch для мониторинга всего терминала
Описание:
В настоящее время в MQL5 советник строго привязан к графику, на котором он работает. Не существует собственного, управляемого событиями способа обнаружить, когда пользователь переключает фокус (кликает) между разными вкладками графиков в терминале, если только советник не присутствует на каждом графике.
Хотя высокочастотный OnTimer (например, 50 мс) может опрашивать CHART_BRING_TO_TOP, это неэффективно и отнимает много ресурсов при управлении большим количеством графиков.
Предлагаемое решение:
Ввести новый обработчик события: void OnChartSwitch(long focusedChartID, string symbol, ENUM_TIMEFRAME period).
Это событие должно:
Срабатывать каждый раз, когда пользователь щелкает на другой вкладке графика в терминале.
Быть доступным для любого советника, запущенного в терминале, независимо от того, к какому графику советник физически привязан (или, по крайней мере, предоставлять глобальное свойство графика, доступное через OnChartEvent).
Пример использования:
Многосимвольные приборные панели: Позволяет одному советнику-контроллеру синхронизировать внешние инструменты (через DLL/Named Pipes) или панели GUI мгновенно, когда трейдер перемещается по своему Market Watch или открытым графикам.
Динамический анализ: Синхронизация внешних систем управления ордерами (OMS) с текущим символом без необходимости прикреплять советника к десяткам открытых окон.
Преимущества:
Значительное снижение нагрузки на процессор по сравнению с опросом на основе таймера и гораздо более отзывчивая архитектура "Push" для современных торговых установок.
1 - Вы можете после установки советника сохранить шаблон и затем применить шаблон к другим графикам
2 - Вы можете создать сервис для мониторинга активности окон
1 - Вы можете сохранить шаблон после установки советника и затем применить его к другим графикам
2 - Вы можете создать службу для мониторинга активности окна
Владимир, спасибо, что нашли время ответить.
Однако, мне кажется, есть недопонимание основного требования. Запрос функции не о том, как развернуть советник на нескольких графиках, не о запуске фонового кода - он о том, чтобы **получать событие в момент, когда пользователь переключает фокус между вкладками графиков**, без необходимости запускать советник на каждом графике и без использования неэффективного опроса.
Позвольте мне объяснить, почему предложенные обходные пути не решают реальную потребность:
1. **Шаблоны** - Сохранение шаблона с советником и применение его к другим графикам просто устанавливает советник на каждый график. Это **не** дает единому, центральному советнику никаких знаний о том, на каком графике пользователь только что щелкнул. Потребуется способ передачи информации о смене фокуса между экземплярами (например, через глобальные переменные или файлы), что добавляет сложности и по-прежнему не делает обнаружение событийно-управляемым.
2. **Сервис** - Сервис работает независимо, но он не может напрямую знать, какой график находится на переднем плане, без постоянного опроса всех открытых графиков с помощью `ChartGetInteger(..., CHART_BRING_TO_TOP)`. Это точно такие же накладные расходы, как и опрос от эксперта. Более того, сервису придется передавать эту информацию обратно в советник (например, через глобальные переменные), что вносит дополнительные задержки и сложности. Это тяжелое, обходное решение, которое все еще полагается на опрос.
Да, я знаю, что можно реализовать цикл опроса с помощью `OnTimer` и `CHART_BRING_TO_TOP`. Но это именно то, чего хочет избежать запрос функции: **опрос требует много ресурсов**, особенно если трейдер держит открытыми много графиков, и он гораздо менее отзывчив, чем настоящее событие на основе push. Запрос на встроенное событие `OnChartSwitch` даст нам эффективное уведомление в реальном времени прямо из терминала, без лишних затрат процессора.
Надеюсь, это проясняет, почему существующие обходные пути не подходят для описанного случая использования. Встроенное событие было бы полезно всем, кто строит панели управления с несколькими графиками, внешние интеграции или любой инструмент, который должен мгновенно реагировать на текущий фокус графика пользователя - без лишней нагрузки на процессор.
Еще раз спасибо за ваш вклад, и я надеюсь, что MetaQuotes рассмотрит возможность реализации этого события в будущем обновлении.