Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 1626
- Рейтинг:
- Опубликован:
- 2020.03.10 16:20
- Обновлен:
- 2022.08.30 05:05
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Библиотека для работы с COM-объектами.
Эта библиотека даёт возможность работать с COM-объектами, предоставленными некоторыми приложениями.
Например: Excel, Word, Mathcad, Matlab. А также объект ADODB для работы с базами данных через драйвер ODBC.
Библиотека работает и в MT4 и в MT5.
Инициализация.
Перед работой с COM-объектами необходимо вызвать функцию CoInitialize(). Лучше всего в функции OnInit().
В функции OnDeinit() надо вызвать функцию CoUninitialize().
Класс Variant.
Это специальный тип данных, который может содержать данные разных типов.
Используется для передачи параметров между приложениями.
Класс SafeArray.
Разновидность типа Variant, в котором содержится массив.
Класс ComObject.
Это тоже тип Variant, содержащий указатель на интерфейс IDispatch COM-объекта.
Базы данных.
COM-объект ADODB предоставляет интерфейс для работы с базами данных, для которых установлен драйвер ODBC.
Прикладываю три советника, собирающих тики в базу данных MySql, MS Access и SQLite.
В них главное отличие в строке подключения 'ConnectionString'.
ConnectionString для вашей базы данных легко найдёте в интернете.
Если хотите создать базу SQLite в памяти, в качестве имени файла нужно задать: ":memory:".
Примеры: MySqlTest.mq5, SqliteTest.mq5, AccessTest.mq5.
Excel.
У Excel есть свой COM-объект "Excel.Application". Он позволяет создавать любые документы Excel.
Кроме этого, есть возможность передавать данные в Excel, при помощи SQL-запросов.
Примеры: Excel.mq5, ExcelTest.mq5.
Mathcad.
Создаём в маткаде такой документ:
A := in1 B := in2 C := A * B
И сохраняем его в файл "c:\Test\Test1.xmcd".
MQL-скрипт передаёт в маткад in1, in2 и получает переменную C.
Пример: Mathcad.mq5.

Торговля на пересечении двух iMA (Moving Average, MA). Выбор из нескольких стратегий для открытия

Пример для расчёта размера лота если задан Стоп лосс (в Points) и задан допустимый убыток в деньгах депозита

Индикатор отображает на текущем таймфрейме High и Low вчерашнего бара D1

На основе стандартного индикатора iAlligator (Alligator) - при определённых условиях выдаётся Alert и рисуется значок Arrow