Смотри, как бесплатно скачать роботов
Ищи нас в Facebook!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Библиотеки

Библиотека для работы с COM-объектами. - библиотека для MetaTrader 4

Просмотров:
1630
Рейтинг:
(12)
Опубликован:
2020.03.16 15:54
Обновлен:
2022.08.30 05:10
\MQL4\Include\ \MQL4\Experts\COM Test\ \MQL4\Scripts\COM Test\
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Библиотека для работы с 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.mq4, SqliteTest.mq4, AccessTest.mq4.


Excel.

У Excel есть свой COM-объект "Excel.Application". Он позволяет создавать любые документы Excel.

Кроме этого, есть возможность передавать данные в Excel, при помощи SQL-запросов.


Примеры: Excel.mq4, ExcelTest.mq4.


Mathcad.

Создаём в маткаде такой документ:

A := in1  B := in2

C := A * B

И сохраняем его в файл "c:\Test\Test1.xmcd".

MQL-скрипт передаёт в маткад in1, in2 и получает переменную C.


Пример: Mathcad.mq4.


    Average Day Range Average Day Range

    Индикатор рисует два квадрата: один от минимума вверх, а второй от максимума вниз. Высота квадрата равна ADR (5 дней).

    Советник по времени с трейлингстопом. Советник по времени с трейлингстопом.

    Советник OpenTimeTral выставляет выбранные типы ордеров в назначенное время и использует трейлингстоп для первого рыночного ордера. Ограничения выбора типов ордеров: 1. Можно выбрать только один тип рыночного ордера, либо Buy, либо Sell. И с выбранным рыночным ордером нельзя выбрать отложенные ордера. 2. Отложенные и лимитные ордера можно выбирать в любом сочетании. После преобразования первого отложенного или лимитного ордера в рыночный, оставшиеся отложенные и лимитные ордера удаляются. Для рыночного ордера используется трейлингстоп. Stoploss модифицируется на расстояние, не больше значения Трейлингстоп от текущей цены Bid, для ордеров Buy, и от цены Ask, для ордеров Sell

    Советник по времени с динамическим трейлингстопом и трейлингпрофитом. Советник по времени с динамическим трейлингстопом и трейлингпрофитом.

    Советник OpenTimeTral2 выставляет выбранные типы ордеров в назначенное время и использует динамический трейлингстоп и трейлингпрофит для первого рыночного ордера. После преобразования первого отложенного или лимитного ордера в рыночный, оставшиеся отложенные и лимитные ордера удаляются. Для рыночного ордера используется динамический трейлингстоп. Stoploss модифицируется на расстояние, не больше значения Трейлингстоп от текущей цены Bid, для ордеров Buy, и от цены Ask, для ордеров Sell и уменьшает Трейлингстоп при приближении к ТейкПрофит по формуле линейного уменьшения в первом варианте и убыстряющегося по обратной связи во втором варианте. Для TakeProfit так же используется трейлинг на постоянную величину. При приближении текущей цены к уровню TakeProfit, Тейкпрофит модифицируется на расстояние TralingProfit.

    AccEq - индикатор Equity счёта AccEq - индикатор Equity счёта

    Индикатор отслеживает изменения Equity, сохраняет историю М1, отображает в произвольных стандартных таймфреймах изменения Эквити и баланса.