Скачать MetaTrader 5

Смотри, как бесплатно скачать роботов

Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят

Понравился скрипт?
Оцени его работу в терминале MetaTrader 5

2010.04.12 13:18
Библиотеки

XmlParser - библиотека для MetaTrader 5

| Russian English 中文 Español Deutsch 日本語 Português

Просмотров:
1062
Рейтинг:
голосов: 30
xmlparser-doc.zip (36.87 KB)
xmlparserdll.zip (235.42 KB)
\MQL5\Include\\MQL5\Scripts\

Класс CXmlElement предоставляет следующие возможности для работы с XML:

  • создавать DOM-модель (дерево объектов) из XML-документа (или отдельного элемента);
  • читать, изменять, создавать, удалять атрибуты, вложенные элементы и текст;
  • сохранять объектную модель в XML.
Интерфейс класса

class CXmlElement 
{
public:
  string        Name;
  CXmlElement   *Elements[];
  CXmlAttribute *Attributes[];
  string        Text;
  ...  
  string SetXml (string xml);
  string GetXml ();
};

 Для доступа к атрибутам элементов используется простой класс CXmlAttribute:

class CXmlAttribute 
{
public:
  string Name;
  string Value;
};

Ниже приведен пример скрипта, который выполняет парсинг XML и печатает информацию из дерева DOM:

void OnStart()
  {
   CXmlElement xmldoc;
   string xml="<!--Comment--><ROOT><ITEM  Attr1=\"HELLOW\">Terminal &quot;MT5&quot;</ITEM></ROOT>";
   Print("XML="+xml);
   string res=xmldoc.SetXml(xml);
   if(res=="") 
     {
      Print("Корневой элемент: "+xmldoc.Name);
      Print("  Атрибутов: "+string(ArraySize(xmldoc.Attributes)));
      Print("  Вложенных элементов: "+string(ArraySize(xmldoc.Elements)));
      Print("  Первый вложенный элемент:"+xmldoc.Elements[0].Name);
      Print("    Его первый атрибут: "+xmldoc.Elements[0].Attributes[0].Name+"="+xmldoc.Elements[0].Attributes[0].Value);
      Print("    Его текст: "+xmldoc.Elements[0].Text);
      Print("XML="+xmldoc.GetXml());
     }
   else
      Print(res);
  }

Вот результат:


 Дополнительная информация:

  • Текущая версия загружает в DOM только элементы, их атрибуты и текст. Все прочие виды информации (комментарии, описания, ...) игнорируются. Как следствие этого - теряется информация о кодировке, версии и не всегда корректно будет сохранен XML.
  • При сохранении выполняется преобразование служебных символов <"&'> в сущности &lt:, &gt;, ... в соответствии со стандартом.
  • Данный парсер предназначен в большей мере для разбора XML, нежели для полноценной работы с такими документами.

Расположение файлов:

  • Каталог_данных_терминала\MQL5\Libraries\xmlparser.dll
  • Каталог_данных_терминала\MQL5\Include\xmlparser.mqh
  • Каталог_данных_терминала\MQL5\Scripts\xmlparserscript.mq5
iBBFill iBBFill

Закрашенные (залитые) полосы Боллинджера.

iMovment iMovment

Индикатор Movment выводит бары разного цвета и оттенка в зависимости от направления и величины движения.

ZeroLag MACD ZeroLag MACD

ZeroLag MACD с раскраской баров гистограммы относительно предыдущего бара.

Математические линии Мюррея (поддержка и сопротивление) Математические линии Мюррея (поддержка и сопротивление)

Индикатор строит математические линии Мюррея (Murrey Math Lines) на всей доступной истории без использования объектов.