Техническое задание: Индикатор-оповещатель для MetaTrader 5

Необходимо разработать пользовательский инструмент (индикатор или скрипт) для торговой платформы MetaTrader 5, основной задачей которого является мониторинг рынка и мгновенное оповещение трейдера о возникновении заданных торговых сигналов.

Основные функции и требования

  • Анализ условий: Инструмент должен в реальном времени анализировать график выбранного торгового инструмента на предмет наступления заданных пользователем условий (например, пересечение скользящих средних, достижение ценой определенного уровня, изменение объема).
  • Система оповещений: При срабатывании условия система должна отправлять уведомление. Способы оповещения:
    • Всплывающее окно (алерт) в терминале MT5.
    • Пуш-уведомление на мобильное приложение MetaTrader.
    • Звуковой сигнал (с возможностью выбора файла).
  • Гибкая настройка: Пользовательский интерфейс должен позволять легко настраивать:
    • Торговый инструмент и таймфрейм для анализа.
    • Конкретные условия для формирования сигнала.
    • Тип и содержание отправляемого уведомления.
  • Надежность и производительность: Код должен быть оптимизирован, не вызывать существенных задержек в работе терминала и стабильно функционировать в течение торговой сессии.

Технические детали

  • Разработка должна вестись на языке MQL5.
  • Код должен быть хорошо структурирован и содержать комментарии.
  • Необходимо предоставить исходные файлы (.mq5) и скомпилированный исполняемый файл (.ex5).

Парсинг заголовков сайтов из списка URL

Требуется автоматизировать сбор HTML-тегов с 800 веб-сайтов. Исходные ссылки находятся в таблице, результат нужно вывести в соседнюю колонку.</p> </div> </article> <article class="card"> <div class="card-body"> <div class="meta"> <span><a href="/categories/testirovanie-75">тестирование</a></span> </div> <h3> <a href="/offers/razrabotka-sistemy-testirovaniya-ustroystva-s-ispolzovaniem-webhook-22530">Разработка системы тестирования устройства с использованием webhook</a></h3> <p>Требуется разработать и описать методику тестирования программного обеспечения устройства. В задачи входит работа с webhook и curl для проверки функциональности.</p> </div> </article> <article class="card"> <div class="card-body"> <div class="meta"> <span><a href="/categories/dizayn-8">дизайн</a></span> </div> <h3> <a href="/offers/chastichniy-redizayn-i-uluchshenie-ux-suschestvuyuschey-crm-sistemy-57691">Частичный редизайн и улучшение UX существующей CRM-системы</a></h3> <p>Необходимо провести косметическую доработку интерфейса текущей CRM-системы, сделав его более чистым, удобным и современным, без изменения базовой структуры и функционала. Задача - улучшить визуальное восприятие и пользовательский опыт.</p> </div> </article> </div> </div> </main> <!-- Footer --> <footer id="contacts"> <div class="container" style="display:grid; gap:14px"> <div style="display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap"> <div class="ft-row"> <div class="logo" style="margin-bottom:8px"> <div class="logo-badge">F</div> <span>flaks.pro</span> </div> </div> <div class="nav" style="display:flex; gap:14px; flex-wrap:wrap"> <a onclick="gogogo('/')" href="#">Главная</a> <a onclick="gogogo('/blogs')" href="#">Блог</a> <a onclick="gogogo('/auth')" href="#">Войти</a> </div> </div> <div class="ft-row right-float"> <small> <a onclick="gogogo('/agreements/soglasie-na-obrabotku-personalnyh-dannyh')" href="#">Согласие на обработку персональных данных</a></small> <small> <a onclick="gogogo('/agreements/polzovatelskoe-soglashenie')" href="#">Пользовательское соглашение</a></small> <small> <a onclick="gogogo('/agreements/politika-konfidentsialnosti')" href="#">Политика конфиденциальности</a></small> </div> <div class="ft-row"> <small>© <span id="year">2025</span> flaks. Все права защищены.</small> <small>Поддержка: <a href="mailto:support@flaks.pro">support@flaks.pro</a></small> </div> </div> </footer> <!-- Yandex.Metrika counter --> <script type="text/javascript"> (function(m,e,t,r,i,k,a){ m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date(); for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }} k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a) })(window, document,'script','https://mc.yandex.ru/metrika/tag.js?id=105693587', 'ym'); ym(105693587, 'init', {ssr:true, webvisor:true, clickmap:true, ecommerce:"dataLayer", accurateTrackBounce:true, trackLinks:true}); </script> <noscript><div><img src="https://mc.yandex.ru/watch/105693587" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> </body> </html>