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

 

Вы имеете в виду, как при расчете индикатора?

Тогда да, например, я написал свою собственную функцию ATR в dll, и что происходит, так это то, что моя DLL ATR использует сглаживание Вилдера, в то время как MT4 просто использует простое среднее... То же самое с любым из индикаторов, написанных Вилдером, и другими индикаторами, у которых, похоже, есть несколько версий...

Я бы сначала убедился, что ваши индикаторы дают те же результаты, что и платформа MT4 из DLL ...

Патрик

 

DLL и индикаторы

У кого-нибудь есть какие-нибудь типы или общие лучшие практики использования dll в индикаторе (как получить диапазон цен в dll и т.д.)? Я хочу, чтобы dll вычисляла значения вместо использования функций в MetaTrader.

Спасибо!

 

Страница не найдена!

mistigriFX.com больше не может быть найден. в чем может быть причина?

 

Как заставить их работать?

Mistigri:
Привет Тим,

При использовании dev-c++ файл def генерируется автоматически, проблема в том, что в итоге получаются имена функций, которые выглядят следующим образом:

EXPORTS

_Z11GetSMAArrayP8RateInfoiiPd@16 @ 1

_Z12GetHighValueP8RateInfoii = _Z12GetHighValueP8RateInfoii@12 @ 2

_Z12GetHighValueP8RateInfoii@12 @ 3

_Z13GetCloseValueP8RateInfoii = _Z13GetCloseValueP8RateInfoii@12 @ 4

_Z13GetCloseValueP8RateInfoii@12 @ 5

_Z11GetSMAArrayP8RateInfoiiPd = _Z11GetSMAArrayP8RateInfoiiPd@16 @ 6[/PHP]

Now you need to make sure you add the following check around your code

[PHP]

#ifdef __cplusplus

extern "C" {

#endif

#ifdef __cplusplus

}

#endif

Прилагаю примеры файлов, которые я сделал для VS2008, но на этот раз с использованием dev-c++ ...

Надеюсь, это поможет

Как мы можем проверить эти файлы? Что мы должны сделать? Насколько я знаю, хост-приложения для Dev C++ бывают только exe. Как мы можем использовать ex4?

 
xarlotie:
как мы можем проверить эти файлы? Что мы должны сделать? Насколько я знаю, хост-приложения для Dev C++ бывают только exe. Как мы можем использовать ex4?

ой! какой очень глупый вопрос! извините за это...я понял ответ на него...просто игнорируйте это сообщение...спасибо!

 
codersguru:
Все, кто заинтересован в создании собственного расширения (dll) MetaTrader, могут перейти по ссылке:

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

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

Будет еще одна (или 2) части, которые я пишу!

Надеюсь, они вам понравятся!

Большое спасибо за

статью.

 
codersguru:
Все, кто заинтересован в создании собственного расширения (dll) MetaTrader, могут перейти по ссылке:

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

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

Там будет еще одна часть (или 2), которые я пишу!

Надеюсь, они вам понравятся!

Я постарался следовать шагам:

Рисунок 2 - Диалог нового проекта

3- В этом диалоге выберите "MFC AppWizard (dll)" и напишите имя проекта в поле "Project Name" (Рисунок 3) и нажмите "OK".

Однако такого выбора "MFC AppWizard (dll)" нет.

Я использую C++ 2008 express от MS

Что я делаю не так.

 

Здравствуйте, никто не может помочь?

Кто-нибудь может сделать учебник по C++2008, пожалуйста?

sub00:
Я попытался выполнить все шаги:

Рисунок 2 - Диалог нового проекта

3- В этом диалоге выберите "MFC AppWizard (dll)" и напишите имя проекта в поле "Project Name" (Рисунок 3) и нажмите "OK".

Однако такого выбора "MFC AppWizard (dll)" нет.

Я использую C++ 2008 express от MS

Что я делаю неправильно.
 
Mistigri:
Только что закончил видео о том, как написать DLL для MT4 ... Я попытался сделать пример, который возвращает массив, поскольку это действительно то, чего мне не хватало, когда я впервые начал изучать пример, предоставленный MetaQuotes.

Смотреть видео

Если вас интересует только код и проект VS, их можно скачать здесь.

Надеюсь, вам понравится

Патрик

Потрясающее видео, как раз то, что я искал!

С большим уважением.

 

Я скачал и скомпилировал проект mistigri с помощью VS++2008.

Первые две функции работают нормально, но вторая приводит к краху терминала, как в этой статье:

Как использовать крэшлоги для отладки собственных DLL - Статьи по MQL4

У меня возникает исключение C0000005 ...

Exception : C0000005

Address : 77C36FA3

Access Type : read

Пока что я не могу понять, в чем дело. Что-то связанное с тем, как массив OutPut[] передается в dll. Буду признателен за любую помощь!

Причина обращения: