Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 5155
- Рейтинг:
- Опубликован:
- 2010.08.16 16:58
- Обновлен:
- 2016.11.22 07:33
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
В данном материале представлен пример передачи котировок из MetaTrader 5 в серверное приложение, написанное на Delphi 7.
Для связи используется TCP протокол, что позволяет передавать данные не только локально но и удаленно, например, на ПК, подключенный по локальной сети.
Для работы с сокетами используется библиотека
Winsock2 (wsock32.dll). Однако, непосредственная работа с функциями этой библиотеки невозможна из-за отсутствия в MQL5 механизма работы с указателями и передачи сложных типов данных в качестве параметров в вызываемые функции DLL.
В качестве промежуточного звена, связывающего советник и библиотеку сокетов служит библиотека socket_mql5.dll написанная на С++.
На рисунке 1 показана схема взаимодействия MetaTrader 5 с серверным приложением.
Рисунок 1. Схема взаимодействия MetaTrader 5 с серверным приложением
В библиотеке socket_mql5.dll реализован минимальный набор функций для односторонней передачи данных: SocketOpen, SocketWriteData, SocketWriteString, SocketClose. Котировки можно передавать в двух форматах: в виде данных и в виде строки. Выбор формата реализован во входной переменной "тип передаваемых данных" советника.
Результат работы советника, реализующего клиента, который подключается к серверному приложению и передает данные о каждом тике, показан на рисунке 2.
Рисунок 2. Передача данных из MetaTrader 5 в серверное приложение
В архиве содержатся:
- Советник;
- Библиотека socket_mql5.dll (исходный код написан на VisualStudio 2008);
- TCP сервер и TCP клиент (исходный код написан на Delphi 7).

Индикатор по импульсной системе А.Элдера.

Советник "Боллинджер на стероидах". Эксперт торгует по тренду и использует индикатор Bollinger Bands.

Осциллятор, аналогичный OsMA на Variable Index Dynamic Average.

Ключевые слова языка MQL5