Создание собственного расширения MetaTrader (dll) - страница 10

 

Отличная помощь! Спасибо!

 

[langtitle=es]Crea tu propia extensi�n de MetaTrader (dll)[/langtitle]

[lang=es]Por favor alguine me podria enviar el material de la creacion de DLL, ya que lo slink estan desactivados!

Mi correo es alex_burgos77@hotmail.com

Saludos y gracias por su amable colaboraci�n.[/lang]

 

...

В подпапке experts/samples/DLLSample папки metatrader находится полностью рабочий пример (проект), который можно использовать для создания пользовательского dll-кода, вызываемого из mql-кода.

aldeberik:
[lang=es]Por favor alguine me podria enviar el material de la creacion de DLL, ya que lo slink estan desactivados!

Mi correo es alex_burgos77@hotmail.com

Saludos y gracias por su amable colaboraci�n.[/lang]
 

Не используйте DevC++, используйте Code::Block вместо него

Для тех из вас, кто не любит устанавливать Visual Studio (потому что это огромный размер как самой Visual Studio, так и обновлений или потому что у вас взломанная ОС), я предлагаю посмотреть здесь. Последняя стабильная версия DevC++ была выпущена 7 лет назад. На сайте полно неработающих ссылок, похоже, никто о них больше не заботится.

Мне больше всего нравятся Code::Block или NetBeans. NetBeans - хотя и поддерживается Oracle - не поставляется со своим собственным компилятором, поэтому настройка компилятора для NetBeans очень расстраивает новичков.

ИМХО, попробуйте Code::Block вместо него.

Вот важный совет: недавно в MT4 build 418 возникла проблема с возвращаемыми значениями при вызове dll. Я предлагаю вызвать какую-нибудь test.dll, передавая параметры или передавая значения в dll, чтобы проверить возвращаемые значения (целое число, двойное, строка, массив или нет, у вас есть идея). Если возвращаемые значения соответствуют переданным, можно продолжить вызов основной dll. Если нет, не вызывайте основную dll, выведите какое-нибудь предупреждение, чтобы предупредить пользователя и показать ошибку. Эта test.dll должна вызывать только один вызов на init или на start. Просто для проверки.

Веселитесь

 

...

Несмотря на то, что я использую visual studio, я использовал code::blocks раньше и я согласен с вами :для более простой установки и меньшего занимаемого места это нормально.

Btw: вы правы насчет билда 418, но билд 419 решил эту проблему (по крайней мере, в нем она решена), так что если вы используете билд 419, вы в безопасности.

onewithzachy:
Для тех из вас, кто не любит устанавливать Visual Studio (потому что это огромный размер как самой visual studio, так и обновлений или потому что у вас взломанная ОС), я предлагаю посмотреть здесь. Последняя стабильная версия DevC++ была выпущена 7 лет назад. На сайте полно неработающих ссылок, похоже, никто о них больше не заботится.

Я предпочитаю Code::Block или NetBeans. NetBeans - хотя и поддерживается Oracle - не поставляется со своим собственным компилятором, поэтому настройка компилятора для NetBeans действительно расстраивает новичков.

ИМХО, попробуйте Code::Block вместо него.

Вот важный совет: недавно в MT4 build 418 возникла проблема с возвращаемыми значениями при вызове dll. Я предлагаю вызвать какую-нибудь test.dll, передавая параметры или передавая значения в dll, чтобы проверить возвращаемые значения (целое число, двойное, строка, массив или нет, у вас есть идея). Если возвращаемые значения соответствуют переданным, можно продолжить вызов основной dll. Если нет, не вызывайте основную dll, выведите какое-нибудь предупреждение, чтобы предупредить пользователя и показать ошибку. Эта test.dll должна вызывать только один вызов на init или на start. Просто для проверки.

Удачи
 
mladen:
Btw: вы правы насчет билда 418, но билд 419 решил эту проблему (по крайней мере, в нем она решена), так что если вы используете билд 419, вы в полной безопасности.

Code::Block вещи, не только это, некоторые программисты все еще предпочитают DevC++, и оставляют комментарии на сайте sourceforge, рассказывая, как хорош DevC++. Видимо, эти программисты еще не обновились.

MT 418, самый большой вопрос, будет ли следующий MT4 защищен от такого рода ошибок снова? Когда они обновились с 416 на 418, естественно, мы ожидали улучшения, мы не ожидали ошибки, но вместо этого мы получили ошибку. Им потребовалась неделя, чтобы исправить ее, но потери уже происходят .

Поэтому некоторые программисты советуют обновить только один из MT4, чтобы проверить, все ли в порядке.

В июне 2012 года, на форуме mql4, они собираются обновиться до билда 421 и больше не поддерживать 416. Надеюсь, ошибок не будет вообще.

 

:)

Судя по опыту, шансы на это скорее противоположны вашим желаниям... Ну что ж, будем надеяться (сильно, сильно надеяться), что это поможет...

 

отличная помощь! это полезный комментарий!

 

Metatrader + SSL соединение

Привет,

Я хочу загрузить xml-файл с сайта https://www.url.com/file.xml.

Как я могу сделать это с помощью metatrader? Какую dll я могу использовать?

 

Путь для разработчиков C#: MT4/5 -> C# DLL

Я написал пример проекта, который может помочь тем, кто пытается написать неуправляемую C# DLL и получить к ней доступ из Metatrader. Вы можете посмотреть исходный код для экспорта C# DLL в Metatrader Code Sample, включая загружаемый VS-проект. Этот код использует шаблон проекта C# для неуправляемого экспорта Роберта Гизеке (ссылка ниже).

pipscooper:
Те C#-разработчики, которые хотели бы написать DLL на C# для Metatrader, а не на C++, теперь имеют путь к этому. Есть очень интересная статья под названием "Exposing C# code to MQL5 using unmanaged exports", которую я только что прочитал.

Прочитайте/пропустите статью и прочтите раздел 2.5 и далее.

Экспонирование кода C# на MQL5 с помощью неуправляемого экспорта - Статьи по MQL5

Прочитайте указания, затем скачайте Шаблон для C# "Библиотека неуправляемого экспорта" и поместите zip-файл в нужную директорию (следуя указаниям на этой странице):

Шаблон проекта C# для неуправляемого экспорта

Загрузите VS и выберите шаблон "Unmanaged Export Library". Следуйте примерам кода. Надеюсь, это кому-нибудь поможет!