Разрешить импорт функций из dll что это значит
Сложно себе представить современную жизнь без компьютеров. Они везде: на работе, дома, в кармане, во всевозможной технике, которая работает под управлением человека, либо почти самостоятельно. Компьютер стал необходимым инструментом каждого трейдера.
Может ли компьютер начать зарабатывать самостоятельно? Его нужно только немного научить, заложить в него нехитрый алгоритм – покупать, когда дорожает, и продавать, когда дешевеет, поделиться с ним своим опытом побед и предостеречь от досадных неудач. Именно для этого существует функция автоматической торговли в терминале MetaTrader4™, которая реализуется с помощью, так называемых советников(Expert Advisors).
Советниками в MetaTrader4™ называются программы, разработанные на языке программирования MetaQuotes Language 4 (MQL 4) и позволяющие автоматизировать аналитические и торговые операций. Советники позволяют в автоматическом режиме проводить анализ текущей ситуации и на основе полученных сигналов способны выдавать команды на выполнение торговых операций и управление открытыми позициями.
В клиентский терминал MetaTrader4™ встроена собственная среда разработки экспертов - MQL4 IDE. Она включает в себя:
- Терминал MetaTrader4™ - модуль управления и исполнения программ автотрейдинга.
- MetaQuotes Language 4 (MQL4) - непосредственно язык программирования торговых стратегий.
- MetaEditor - редактор и компилятор советников.
- Strategy Tester - модуль тестирования и оптимизации экспертов.
Технология тестирования советников на исторических данных позволяет получить результаты, максимально приближенные к результатам тестирования советников в онлайне на демо-счете. При этом проверка эффективности работы советника за период в несколько лет займет не более нескольких минут, т. е. Вам не придется ждать годы для подтверждения прибыльности Вашей торговой тактики!
Что дает трейдеру автоматическая торговля:
- Возможность создатьстратегию-автомат, которая торгует круглосуточно без участия трейдера.
- Возможность частично снять рутину совершения торговых операций и сосредоточится на творческой работе, например, на разработке и оптимизации новой торговой системы.
- Возможность реализовать торговую систему, которую при ручной торговле применить не получится.
- Возможность использовать торговые стратегии, созданные другими авторами, просто копируя программные коды.
- Возможность получить инструменты автоматизации торговли:
- советники, дающие только сигналы;
- инструменты сбора различной статистики;
- реализацию недостающего функционала.
- Возможность создания индивидуального тестера стратегий:
- расчёт уникальных, нужных именно вам, показателей;
- использование уникальных авторских торговых систем.
Создание советников
Для создания советников используется редактор MetaEditor. Чтобы запустить редактор советников, необходимо выполнить команду "Создать" контекстного меню окна "Навигатор — Советники", команду меню "Сервис — Редактор MetaQuotes Language", нажать клавишу F4 или кнопку на панели "Стандартная". При создании эксперта автоматически откроется мастер создания советников, позволяющий быстро приступить к работе с новой MQL4-программой. В нем в качестве типа создаваемого объекта необходимо указать "Советник" и заполнить поля требуемыми данными:
Имя — название советника;
Автор — имя автора;
Ссылка — адрес сайта разработчика;
Параметры — список входных параметров советника. Чтобы добавить новый параметр, необходимо нажать кнопку "Добавить", чтобы удалить — кнопку "Удалить".
После этого в редакторе открывается окно нового советника с заданными параметрами. Файл с исходным текстом (*.MQ4) советника автоматически помещается в папку /EXPERTS клиентского терминала ForexClub MetaTrader4™. С этого момента можно приступать к написанию кода эксперта.
По завершении разработки необходимо скомпилировать советник. Для этого в редакторе советников необходимо выполнить команду меню «Файл» — «Компилировать». В результате успешной компиляции создается исполняемый файл программы с расширением *.EX4, автоматически помещаемый в папку /EXPERTS. Список скомпилированных экспертов можно просмотреть в окне «Навигатор» — «Советники» клиентского терминала. Если компиляция не была успешно завершена, пиктограмма эксперта будет закрашена серым цветом. Это означает, что его использовать нельзя.
Создание советников
Для создания советников используется редактор MetaEditor. Чтобы запустить редактор советников, необходимо выполнить команду "Создать" контекстного меню окна "Навигатор — Советники", команду меню "Сервис — Редактор MetaQuotes Language", нажать клавишу F4 или кнопку на панели "Стандартная". При создании эксперта автоматически откроется мастер создания советников, позволяющий быстро приступить к работе с новой MQL4-программой. В нем в качестве типа создаваемого объекта необходимо указать "Советник" и заполнить поля требуемыми данными:
Имя — название советника;
Автор — имя автора;
Ссылка — адрес сайта разработчика;
Параметры — список входных параметров советника. Чтобы добавить новый параметр, необходимо нажать кнопку "Добавить", чтобы удалить — кнопку "Удалить".
После этого в редакторе открывается окно нового советника с заданными параметрами. Файл с исходным текстом (*.MQ4) советника автоматически помещается в папку /EXPERTS клиентского терминала ForexClub MetaTrader4™. С этого момента можно приступать к написанию кода эксперта.
По завершении разработки необходимо скомпилировать советник. Для этого в редакторе советников необходимо выполнить команду меню «Файл» — «Компилировать». В результате успешной компиляции создается исполняемый файл программы с расширением *.EX4, автоматически помещаемый в папку /EXPERTS. Список скомпилированных экспертов можно просмотреть в окне «Навигатор» — «Советники» клиентского терминала. Если компиляция не была успешно завершена, пиктограмма эксперта будет закрашена серым цветом. Это означает, что его использовать нельзя.
Настройка работы советников
Перед началом использования советников необходимо произвести их предварительную настройку. Общие для всех экспертов параметры работы задаются в окне настройки клиентского терминала. Это окно можно открыть командой меню "Сервис — Настройки" или при помощи клавиш-акселераторов Ctrl+O. Для настройки параметров работы экспертов необходимо выбрать вкладку "Советники". В ней доступны:
Включить советники. Эта опция позволяет разрешить или запретить использование всех советников. Если она отключена, с приходом нового тика для всех экспертов перестает запускаться функция start(). При этом вместо смайликов напротив названий экспертов в правом верхнем углу графиков появятся крестики. Чтобы включить советники, необходимо выставить флажок и нажать кнопку "ОК". С приходом нового тика они начнут работать, а крестики в правом верхнем углу графика вновь станут смайликами.
Внимание: эксперт запускается на выполнение с приходом нового тика и, чаще всего, успевает завершить свою работу до прихода следующего тика. Отключение советников не прерывает текущее исполнение уже работающих экспертов; эта опция распространяется только на советники и не позволяет автоматически отключать пользовательские индикаторы и скрипты.
Отключить советники при смене счета. Эта опция представляет собой защитный механизм, отключающий советники при смене счета. Она бывает полезна, например, при переключении с демо-счета на реальный. Чтобы включить механизм, необходимо выставить флажок и нажать кнопку "ОК".
Отключить советники при смене профиля. В профилях сохраняется большое количество информации о текущих настройках всех графиков в рабочей области. В частности, в профилях сохраняется информация о прикрепленных советниках. Эксперты, входящие в состав профиля, с приходом нового тика начнут работать. Включив эту опцию (выставив флажок), можно не допустить запуска экспертов при смене профиля.
Разрешить советнику торговать. Советники способны работать в автоматическом режиме, без участия трейдера. Они могут как анализировать динамику цен, так и вести торговую деятельность. Эта опция предназначена для ограничения торговых функций экспертов. Такое ограничение бывает полезно при тестировании аналитических способностей эксперта в режиме реального времени (не путать с тестированием советника на исторических данных).
Ручное подтверждение. Опция "Ручного подтверждение" активируется только в том случае, если советникам разрешено торговать. Если эта опция включена, и советник пытается провести торговую операцию, можно будет либо подтвердить ее, либо прервать вручную. Иными словами, при помощи ручного подтверждения можно контролировать торговую активность советника. Это может быть полезно при тестировании торговых функций советника в режиме реального времени (не путать с тестированием советника на исторических данных).
Разрешить импорт DLL. Для расширения функциональности советники могут использовать DLL-библиотеки. Выставив этот флажок, можно использовать такие библиотеки без каких-либо ограничений. Если эта опция отключена, ни один эксперт не сможет воспользоваться внешними DLL-библиотеками. Рекомендуется запрещать импорт при работе с неизвестными экспертами.
Подтверждать вызов функций DLL. Эта опция активируется только в том случае, если был разрешен импорт из DLL-библиотек. Она позволяет контролировать выполнение каждой вызываемой функции вручную. Если флажок не установлен, импорт из внешних библиотек контролироваться не будет. При работе с неизвестными экспертами рекомендуется включать эту опцию.
Разрешить импорт внешних экспертов. Если при работе советника требуется экспортировать функций из других экспертов или библиотек MQL4, необходимо включить эту опцию. Если она отключена, ни один из запущенных экспертов не сможет запрашивать функции из других MQL4-программ. Рекомендуется отключать эту опцию при работе с неизвестными советниками.
Импорт функции из библиотеки DLL
В следующем примере кода показано, как использовать __declspec(dllimport) для импорта вызовов функций из библиотеки DLL в приложение. Предположим, что func1 — это функция, которая находится в библиотеке DLL, отделенной от исполняемого файла, который содержит функцию main.
Без __declspec(dllimport) с учетом этого кода:
компилятор формирует код, аналогичный следующему:
и компоновщик преобразует вызов в нечто вроде следующего:
Если func1 существует в другой библиотеке DLL, компоновщик не сможет разрешить этот адрес напрямую, поскольку он не имеет возможности узнать, какой адрес присвоен func1 . В 32-разрядных и 64-разрядных средах компоновщик создает преобразователь по известному адресу. В 32-разрядной среде преобразователь выглядит следующим образом:
Здесь __imp_func1 — это адрес для слота func1 в таблице адресов импорта исполняемого файла. Все эти адреса известны компоновщику. Загрузчику необходимо обновить таблицу адресов импорта исполняемого файла во время загрузки, чтобы все работало правильно.
Вот почему использование __declspec(dllimport) предпочтительнее: компоновщик не создает преобразователь, если он не требуется. Преобразователи усложняют код (в системах RISC это может быть несколько инструкций), что может привести к снижению производительности кэша. Если сообщить компилятору, что функция находится в библиотеке DLL, она может создать косвенный вызов.
Теперь этот код:
создает следующую инструкцию:
Нет ни преобразователя, ни инструкции jmp , поэтому код будет меньше и быстрее. Также можно получить тот же результат без __declspec(dllimport) с помощью оптимизации всей программы. Дополнительные сведения см. в разделе /GL (оптимизация всей программы).
Для вызовов функций в библиотеке DLL не требуется использовать косвенный вызов. Компоновщик уже знает адрес функции. Загрузка и сохранение адреса функции перед прямым вызовом занимает дополнительное время и место. Прямой вызов всегда выполняется быстрее и проще. Вам необходимо использовать __declspec(dllimport) только при вызове функций DLL извне самой библиотеки DLL. Не используйте __declspec(dllimport) в функциях внутри библиотеки DLL при построении этой библиотеки DLL.
Запуск советников
После настройки общих параметров, можно запускать эксперты. Для этого достаточно лишь присоединить советник к графику, просто перетащив его на график из меню «Советники». Команда "Присоединить к графику" контекстного меню окна "Навигатор — Советники" или двойной клик левой кнопкой мыши на выбранном эксперте в том же окне позволяют наложить его на активный график. При этом на экране появится окно индивидуальных настроек советника. Во вкладке "Общие" можно:
Позиции — выбрать направление открытия позиций:
- Long&Short — в обе стороны;
- Only Long — только на покупку;
- Only Short — только на продажу.
Разрешить сигналы — разрешить/запретить советнику подавать сигналы;
Не повторять сигнал — запретить подачу сигналов о событиях после поступления первого сигнала;
Разрешить советнику торговать — разрешить/запретить проведение торговых операция в реальном времени;
Ручное подтверждение — запрашивать подтверждение на открытие позиции при проведении торговых операций;
Разрешить импорт DLL — разрешить/запретить импорт функций из DLL-файлов;
Подтверждать импорт функций DLL — запрашивать подтверждения при каждом вызове функций из DLL-файлов;
Разрешить импорт внешних экспертов — разрешить/запретить вызов функций из внешних экспертов.
Кнопка "Сброс" возвращает все настройки по умолчанию. Во вкладке "Общие" выставляются заданные в настройках терминала параметры. А в качестве входных переменных выставляются параметры, указаные в исходном тексте программы. Чтобы подтвердить прикрепление советника с заданными параметрами, необходимо нажать кнопку "ОК". А отменить наложение эксперта можно нажав одноименную кнопку.
Внимание: индивидуальную настройку можно производить для уже прикрепленных экспертов. Однако, пока идет текущее исполнение, открыть страницу свойств советника нельзя. Это можно сделать только в промежутках между вызовами функции start(). При этом эксперт запускаться не будет, пока открыты его свойства. Если были изменены входные параметры советника, то по нажатии кнопки "ОК" происходит переинициализация эксперта с новыми входными параметрами.
После настройки эксперта произойдет его инициализация и с приходом нового тика советник начнет исполнятся. Свидетельством прикрепления советника является появление в правом верхнем углу графика имени эксперта и значка — смайлика. Если в настройках эксперта запрещено торговать, то вместо веселого смайлика появится грустный смайлик.
Внимание: к одному графику можно присоединить только один советник. При наложении второго советника, первый удаляется.
Чем опасен импорт DLL
Основная опасность подключения к библиотеке заключается в том, что при закачке данных через этот канал на компьютер могут проникнуть вирусы.
Правда, если вы используете встроенные в metatrader индикаторы вероятность подхватить вредоносный код после включения импорта DLL практически равна нулю.
Более высока вероятность при установке индикаторов или советников от не проверенных разработчиков, то опасность значительно возрастает.
Но все же практически отсутствует информация о попадание на компьютер через импорт DLL используемый в торговой платформе.
Для обеспечения безопасности рекомендуется не использовать скрипты от сомнительных разработчиков, предполагающих включение данной функции и иметь на компьютере работающее антивирусное обеспечение.
Предупреждение о рисках.
Начиная торговлю CFD на любом из финансовых рынков вы должны четко понимать, что такой вид деятельности может привести не только к прибыли, но и к убыткам.
Большинство советников не нуждаются в DLL. Хотя программирование в MQL достаточно для 99% экспертов. DLL программирования для MetaTrader подходит только, когда MQL не дает тех возможностей, в которых EA нуждается.
DLL расшифровывается как Dynamic Link Library, для понимания обычному пользователю, ничего не объясняющая . Концептуализации инструментов. DLL сама панель инструментов.
"Материал" в DLL это инструменты, которые эксперт или индикатор использует для принятия решений. MQL просто решает, какие вычисления использовать в это время.
Я часто сталкиваюсь в необходимости DLL всякий раз, когда я планирую сделать математически сложные вычисления с помощью программирования . MQL работает чрезвычайно медленно для программирования сложных задач. Всякий раз, когда ЕА хочет обрабатывать несколько миллионов вычислений она имеет тенденцию замерзать. MetaTrader подозревает, что она попала в бесконечный цикл и самоуничтожается.
Перемещение таких расчетов в DLL передает эту обязанность по вычислениям на более мощный язык. MetaTrader любит только C / C + + или Delphi, которые называют высокий уровень программирования. MQL программист может управлять физическим оборудованием в целях оптимизации производительности, если это требуется. Общая программа написанная в DLL
MQL является язык программирование , разработанный исключительно для торговли. Все, что выходит за пределы сферы торговли, таких как подключение к базе данных или считывание информации с сервера, не поддерживается.
Для того, чтобы продать советник он нуждается в DLL. Высокоуровневые языкы легко поддерживают веб-операции, которые могут выполнять проверку подлинности, кто является и не может использовать советник. Защита советника с помощью DLL - на данный момент одна из актуальных тем .
Что еще более важно, в языках высокого уровня предлагают значительно сильнее параметры шифрования. Декомпиляция MQL файла , что означает, перевести его в открытый код, чтобы украсть содержимое, стоит около $ 10-15. Декомпиляция DLL файл занимает гораздо больше работы. Даже незашифрованных файлы могут занять программиста на несколько полных рабочих дней, чтобы открыть. Декомпиляция зашифрованных DLL может занять несколько месяцев, если методы шифрования не известны. Хотя все, что может быть зашифрован теоретически может быть расшифровано, но становится вопрос масштаба и ресурсов. Вы готовы заниматься декомпиляцией и расшифровкой в течении нескольких месяцев?
Иногда трейдеры с помощью экспертов, которые получают информацию из нескольких брокеров в одно и то же время, используют Арбитраж. По сути это тоже самое что и копирование, но с тем отличием, что мы делаем сотни вычислений в доле секунды для принятия решения. Для этого также можно использовать длл. Наш копировщик сделок работает без ДЛЛ, но скорость копирования максимальная.
Торговые советники и собственные индикаторы
Среди программ для автоматического трейдинга можно выделить две большие категории: торговые роботы и индикаторы. Первые предназначены для совершения торговых операций на рынках, а вторые — для анализа котировок и выявления закономерностей в их изменении. При этом индикаторы могут использоваться непосредственно в роботах, образуя полноценную автоматическую торговую систему.
Чтобы запустить советник, наложите его на график. Самый простой способ — дважды кликнуть на эксперте в окне "Навигатор" или перетащить его мышью на график.
После этого появится окно свойств советника. Нажмите ОK, и советник запустится на графике. Об этом свидетельствует появление имени советника и иконки в правом верхнем углу графика.
Если иконка имеет вид , значит советнику запрещена автоматическая торговля. Разрешите ее в настройках советника, а также в настройках платформы.
- К одному графику можно присоединить только один советник. При наложении второго советника, первый удаляется.
- Количество индикаторов, накладываемых на один график, не ограничено.
Перед запуском программы на графике появляется окно ее свойств.
На вкладке "Общие" указывается информация о программе: название, версия, копирайт и компания разработчика (копирайт и название компании могут являться ссылкой на соответствующий веб-ресурс), а также описание.
Если для советника предусмотрена система лицензирования (например, советник куплен или скачан из Маркета), то для него отображается информация о лицензии (срок истечения, демо-версия).
В нижней части окна задается индивидуальная настройка запуска советника:
- Разрешить изменение настроек Сигналов — данная опция разрешает/запрещает MQL5-программе подписываться и отписываться от Сигналов, а также изменять настройки сигналов. Функции работы с базой сигналов из MQL5-программ дают возможность самостоятельно анализировать качество сигналов, динамически управлять подпиской и регулировать риски. Подробная информация о функциях управления сигналами приведена в Справочнике по MQL5.
- Разрешить авто-торговлю — эта опция предназначена для ограничения торговой деятельности экспертов. Такое ограничение бывает полезно при тестировании аналитических способностей эксперта в режиме реального времени (не путать с тестированием советника на исторических данных). Следует иметь в виду, что даже если эта опция включена, советнику может быть запрещено торговать общими настройками платформы.
Общие параметры для всех советников задаются в настройках торговой платформы.
Как изменить параметры программы
Для изменения параметра дважды нажмите на его значении и укажите новое.
Как использовать наборы параметров
С помощью кнопки "Сохранить" можно сохранить текущий набор параметров, а с помощью кнопки "Загрузить" — загрузить ранее сохраненный. Наборы входных параметров хранятся в папке /Presets торговой платформы.
Как вернуть настройки по умолчанию
Для восстановления значений параметров по умолчанию нажмите кнопку "Сброс".
Индивидуальную настройку можно производить для уже прикрепленных экспертов. Однако, пока идет текущее исполнение, открыть страницу свойств советника нельзя. Это можно сделать только в промежутках между вызовами функции start(). При этом эксперт запускаться не будет, пока открыты его свойства. Если были изменены входные параметры советника, то по нажатии кнопки "ОК" происходит переинициализация эксперта с новыми входными параметрами.
Вкладка "Зависимости" появляется, если в эксперте используется импорт функций из других EX5- или DLL-файлов. Использование внешних DLL может расширить функциональность программы, однако является потенциально опасным. Следует разрешать использование этих функций только для проверенных приложений.
В виде древовидного списка здесь отображаются файлы, к которым обращается советник. Зелеными иконками отображаются функции, вызываемые из MQL5-программ, красными — вызовы функций внутри DLL.
В верхней части окна присутствует опция для разрешения/запрета работы с DLL:
- Разрешить импорт DLL — для расширения функциональности советники могут использовать DLL-библиотеки. Выставив этот флажок, можно использовать такие библиотеки без каких-либо ограничений. Если MQL5-программа использует DLL, но их вызов не разрешен (данная опция отключена), то кнопка "ОК" не будет показана в окне запуска.
Не включайте опцию "Разрешить импорт DLL", если вы не уверены в безопасности запускаемого приложения. Приложения из непроверенных источников могут нанести вред, используя функции сторонних DLL.
Возможность автоматической торговли может контролироваться как на уровне торговой платформы, так и на для каждого робота отдельно.
Кнопка " Авто-торговля" на панели инструментов (и аналогичная ей по функциям настройка в окне Сервис — Советники) работает как общий переключатель авто-торговли в платформе. Если вы отключите ее, авто-торговля будет отключена для всех советников, даже если им в частном порядке выставлено разрешение на торговлю в настройках при запуске. Если вы включите ее, то авто-торговля будет разрешена только для тех советников, которым она не была запрещена в частном порядке.
Разрешениями автоматической торговли для отдельных советников удобнее управлять через окно Навигатор, а не через окно свойств. Для подключенного счета в нем показывается список всех запущенных экспертов. Для каждого советника указывается график, на котором он запущен. Иконкой показывается, разрешена ли советнику авто-торговля.
При помощи команд контекстного меню конкретному советнику можно разрешить или запретить авто-торговлю, можно удалить его с графика или посмотреть его свойства.
Настройки, касающиеся автоматической торговли, находятся на вкладке "Советники" в настройках платформы.
Доступны следующие настройки:
-
Разрешить автоматическую торговлю — эта опция позволяет разрешить или запретить проведение торговых операций с помощью советников и скриптов. Если ее отключить, то советники и скрипты будут работать, однако не смогут совершать торговых операций. Такое ограничение бывает полезно при тестировании аналитических способностей экспертов в режиме реального времени (не путать с тестированием на исторических данных).
Данная опция работает как общий переключатель авто-торговли в платформе. Если вы отключите ее, авто-торговля будет отключена для всех советников, даже если им в частном порядке выставлено разрешение на торговлю в настройках при запуске. Если вы включите ее, то авто-торговля будет разрешена только для тех советников, которым она не была запрещена в частном порядке.
- Отключить автоматическую торговлю при смене счета — эта опция представляет собой защитный механизм, отключающий торговлю советниками и скриптами при смене торгового счета. Она бывает полезна, например, при переключении с демонстрационного счета на реальный. Отключить автоматическую торговлю при смене профиля — в профилях сохраняется большое количество информации о текущих настройках всех графиков в рабочей области. В частности, в профилях сохраняется информация о прикрепленных советниках. Эксперты, входящие в состав профиля, с приходом нового тика начнут работать. Включив эту опцию (выставив флажок), можно не допустить совершение торговых операций экспертами при смене профиля.
- Отключить автоматическую торговлю при смене символа или периода графика — если данная опция включена, то при изменении символа или периода графика, к которому прикреплен эксперт, этому эксперту будет автоматически запрещено совершать торговые операции.
- Отключить автоматическую торговлю через внешний Python API — скрипты на Python, использующие модуль для интеграции с торговой платформой, могут совершать торговые операции. Однако для дополнительной безопасности счетов эта возможность по умолчанию отключена. Вам требуется разрешить автоторговлю явно, отключив эту опцию.
- Разрешить импорт DLL (потенциально опасно, включать только для проверенных приложений) — для расширения функциональности mql5-программы могут использовать DLL-библиотеки. Данная опция позволяет задать значение по умолчанию для параметра "Разрешить импорт DLL" при запуске программ. Рекомендуется запрещать импорт при работе с неизвестными экспертами.
- Разрешить WebRequest для следующих URL — в языке MQL5 функция WebRequest() позволяет получать и отправлять информацию с веб-сайтов с помощью GET и POST запросов. Чтобы разрешить MQL5-программе осуществлять такие запросы, включите опцию "Разрешить WebRequest для следующих URL" и явным образом вручную прописать URL-адреса доверенных сайтов. Из соображения безопасности данная опция по умолчанию отключена.
Для удаления адреса из списка разрешенных выделите его и нажмите клавишу "Delete".
Для быстрого доступа к наиболее часто используемым программам, используйте "Избранное" и горячие клавиши.
Выберите торгового робота, индикатор или скрипт и добавьте его в избранное через контекстное меню. Все избранные программы отображаются на отдельной вкладке в окне "Навигатор" и всегда под рукой.
Для быстрого запуска на графике любой программе можно назначить сочетание клавиш. Для этого используйте контекстное меню программы в "Навигаторе".
В примере выше скрипту были назначены клавиши "Alt+1". При их нажатии скрипт будет моментально запущен на текущем открытом графике.
В торговой платформе есть специальный вид программ — сервисы. Они позволяют использовать собственные источники ценовых данных для платформы — передавать цены от внешних систем в режиме реального времени так, как это делают торговые серверы брокеров. Также сервисы можно использовать для выполнения других обслуживающих задач в фоновом режиме.
В отличие от советников, индикаторов и скриптов, сервисы не привязаны к конкретному графику. Они работают в фоновом режиме и начинают работу автоматически при запуске терминала (если были запущены).
Для управления сервисами используйте Навигатор:
Для запуска нескольких копий одного советника или индикатора с разными параметрами достаточно наложить его на разные графики. При этом создаются отдельные экземпляры программы, которые работают независимо друг от друга. Сервисы не привязаны к графикам, поэтому для создания их экземпляров предусмотрен отдельный механизм. Выберите в навигаторе сервис и нажмите "Добавить сервис" в его контекстном меню. Будет открыт стандартный диалог MQL5-программы, где вы можете разрешить/запретить торговлю и доступ к сигналам, а также задать параметры.
Для запуска и остановки экземпляра сервиса используйте его меню. Для управления всеми экземплярами, используйте меню самого сервиса.
Для языка Python существует множество библиотек для машинного обучения, автоматизации процессов, анализа и визуализации данных. Все его возможности можно легко применять и в торговой платформе, благодаря модулю для интеграции с Python.
- Быстро и удобно получайте биржевую информацию из торговой платформы для последующего анализа средствами Python — сотни тысяч тиков по финансовому инструменту можно запросить одной командой
- Получайте торговое состояние и историю операций на счете для расчета статистических показателей
- Совершайте торговые операции по собственному алгоритму
Скрипты на Python можно запускать прямо на графиках в платформе, аналогично обычным MQL5-программам. В "Навигаторе" они отображаются специальными иконками.
Python-скрипты можно запускать на одном и том же графике параллельно с другими MQL5-скриптами и советниками. Для остановки скрипта, если его исполнение зациклено, просто удалите его с графика.
Чтобы дополнительно защитить ваши счета при использовании сторонних библиотек Python, в настройках платформы предусмотрена опция "Отключить автоматическую торговлю через внешний Python API".
Скриптам на Python будут разрешены торговые операции только при явном отключении этой опции.
Создание заметок к вызовам с помощью __declspec(dllimport) может ускорить их работу. __declspec(dllimport) всегда требуется для доступа к экспортированным данным библиотеки DLL.
Завершение работы советника
Чтобы завершить работу эксперта, необходимо удалить его с графика. Перед завершением работы производится деинициализация эксперта. Для удаления эксперта с графика необходимо выполнить команду контекстного меню графика "Советники — Удалить" либо присоединить к графику другой советник. Кроме того, советник может удаляться с графика при смене профиля или шаблона.
Если вы торгуете на бирже через торговую платформу то, наверное, не раз сталкивались с фразой разрешить импорт DLL при настройке советника или индикатора.
При этом имеется предупреждение, что использование данной функции опасно и грозит кражей данных с вашего компьютера.
Так, что же такое импорт DLL для чего этот импорт нужен и стоит ли разрешать использовать данную настройку.
Торгуй по крупному только с ведущим брокером
DLL – динамически подключаемая библиотека, то есть запускаемый в торговой платформе скрипт получает необходимые для полноценной работы данные с удаленного компьютера.
Для чего же это нужно, почему нельзя сразу разместить всю необходимую информацию в самом скрипте.
Ну, во-первых, библиотеки постоянно обновляются, а скриптах далеко не всегда предусмотрено автоматическое обновление.
А во-вторых, библиотека может содержать довольно большой объем данных которые в десятки раз увеличат вес советника или индикатора:
Поэтому если не разрешать импорт DLL многие скрипты попросту не запустятся, а если и запустятся, то будут работать не совсем эффективно, используя устаревшие данные.
Редактирование советников
Чтобы приступить к редактированию уже существующего советника из терминала, необходимо выполнить команду "Изменить" контекстного меню окна "Навигатор — Советники". При этом откроется редактор советников, в который уже будет загружен исходный текст выбранного эксперта. После изменения исходного текста советника необходимо повторно скомпилировать его и получить новый исполняемый EX4-файл. В противном случае в терминале будет использоваться неизмененная, предыдущая версия эксперта.
Читайте также: