MQL4: Пишем индикатор новостей

Приветствую вас, господа MQL программисты!

Довольно часто возникает ситуация, когда нам нужно в форекс советнике или индикаторе использовать какие-то данные, которые находятся в сети на определенных страницах.  Типичный пример подобной ситуации – получение новостей и отображение их в терминале на графике в удобном для вас формате. Как это сделать – вы узнаете из сегодняшнего урока.

MQL4 - Пишем индикатор новостей

Что такое страничка в интернете? Это просто некоторые данные и различные html теги, которые помогают упорядочить и разместить эти данные на странице, а также представить их в удобочитаемом виде. Проще говоря, все страницы в интернете могут быть представлены в виде текста и html разметки.  Все форматирование в таких документах осуществляется с помощью специальных служебных слов, тегов. Практически вся информация в html-файлах оказывается окружена тегами. Если мы хотим извлекать данные в чистом виде, то нам необходимо отделить служебную информацию (теги) от основных данных.

Что такое тег?

С точки зрения проcтого описания, тег – это любое слово, окруженное двумя угловыми скобками. Умные люди тег называют «дескриптором», но мы притворимся не такими и для краткости все же будем говорить «тег». Тег – это элемент языка разметки текста (html). Все, что внутри тега, называется содержанием элемента. Теги бывают парными и одиночными. Парный тег включает в себя открывающий элемент и закрывающий, например, <h1> …. </h1>. Все, что между открывающим и закрывающим элементом, называется контент, или содержимое тега. Одиночные теги, как нетрудно догадаться, содержат только один элемент, например, <br>. Html – несложный язык, который по правде говоря и языком программирования не считается. Можно на сносном уровне выучить его буквально за неделю, к тому же в сети полно различных уроков, книг, обучающих курсов.

В чем состоит наша задача на сегодня?

Итак, мы хотим получить данные с какой-то страницы в сети и знаем, что она – это просто текст и теги. Поэтому для начала нам нужно написать программу, которая будет читать скачанный html файл, производить поиск по заданным тегам и прочие манипуляции с полученными данными. Затем нужные данные мы будем визуализировать на графике. Мы будем помечать время выхода новостей простыми вертикальными линиями разных цветов с подписями в виде самих событий. В дальнейшем вы сможете самостоятельно модернизировать индикатор и представляемые им данные в удобном именно для вас формате – в виде таблички, стрелочек, галочек или любого другого способа, который подсказывает вам ваша фантазия.

Заключение

Сегодня мы написали простейший индикатор, отображающий некие определенные данные, взятые из сети. На самом деле, безусловно, это могут быть совершенно любые данные, которые необходимы вам для торговли. Единственный критерий в данном случае – данные должны быть представлены на html странице как обычный текст с html тегами. В следующем уроке мы с вами модернизируем наш индикатор для чтения данных в формате rss.

Тема на форуме

С уважением, Дмитрий аkа Silentspec
TradeLikeaPro.ru

Топ Брокеров 2025 по версии TLAP

  • На рынке с 1998 года

  • Низкие спреды

  • Быстрый ввод и вывод

  • Хорошее исполнение

  • Множество способов пополнения

  • С 2007 года на рынке

  • Счета Zero с нулевыми спредами

  • Система Копи-трейдинга

  • Хорошее исполнение

  • Более 500 торговых инструментов

  • Комиссия на пополнение 0%

  • Лицензия ЦБ РФ

  • Удобный ввод и вывод средств

  • Подходит для крупных трейдеров

  • Крупнейший форекс дилер в России

  • Компания – налоговый агент, выплата налогов без участия клиента

  • Торговля через MetaTrader 5

  • Центовые счета со стартовым лотом 0.01

  • Система копирования сделок Share4You

  • Низкие спреды

  • Подходит для новичков

  • Лучшие на рынке условия для работы с сеточниками и мартингейлом

  • Исполнение без вмешательства дилинга

  • Низкие спреды

  • Трейдинг Forex, CFD и Crypto

  • Полная прозрачность работы

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

  • На рынке с 2006 года

Уроки по MQL4 , , , ,