Скачать MetaTrader 5

импорт C++ dll в mql5

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
pantural
227
pantural  

Сделал как в статье КАК ЗА 10 МИНУТ НАПИСАТЬ DLL БИБЛИОТЕКУ ДЛЯ MQL5 И ОБМЕНИВАТЬСЯ ДАННЫМИ? но судя по всему не работает импорт dll, попробовал на тривиальном примере:

extern "C" __declspec(dllexport) double __stdcall test()
{
        return 33;
}
//--- plot dll
#property indicator_label1  "dll"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

#import "dll2mql01.dll"
double test();
#import

//--- indicator buffers
double         dllBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,dllBuffer,INDICATOR_DATA);
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
//---
   for(int i=1; i<rates_total; i++) dllBuffer[i]= test();
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+

Хотел прикрутить крутейшую нейросетку и расшарить! Help please!


Заранее спасибо.

Yuriy Asaulenko
5145
Yuriy Asaulenko  

А с С++ свою ДЛЛ предварительно попробовали на работоспособность?

На всякий случай - https://msdn.microsoft.com/ru-ru/library/ms235636.aspx

Пошаговое руководство. Создание и использование библиотеки DLL (C++)
Пошаговое руководство. Создание и использование библиотеки DLL (C++)
  • msdn.microsoft.com
В этом пошаговом руководстве описывается создание библиотеки динамической компоновки (DLL) для использования с приложением на C++. Библиотеки являются хорошим способом повторного использования кода. Вместо того чтобы каждый раз реализовывать одни и те же подпрограммы в каждом создаваемом приложении, их можно создать единожды и затем ссылаться...
pantural
227
pantural  
Yuriy Asaulenko:

А с С++ свою ДЛЛ предварительно попробовали на работоспособность?

На всякий случай - https://msdn.microsoft.com/ru-ru/library/ms235636.aspx

extern "C" __declspec(dllexport) double __stdcall test()
{
        return 33;
}

А надо?)))(шутка)

пробовал.

в сишарп и питон вызывается без проблем, да вроде как раньше обычные дллки нормально работали, для импорта во все языки, не нужно было как то специфически их компилировать,(года 3-5 назад) наверно сейчас что то поменяли, вот и спрашиваю что именно?

Yuriy Asaulenko
5145
Yuriy Asaulenko  
pantural:

А надо?)))(шутка)

пробовал.

в сишарп и питон вызывается без проблем, да вроде как раньше обычные дллки нормально работали, для импорта во все языки, не нужно было как то специфически их компилировать,(года 3-5 назад) наверно сейчас что то поменяли, вот и спрашиваю что именно?

МТ наверное 64. а ДЛЛ 64-бит?

Простите за дурацкий вопрос.)

pantural
227
pantural  
Yuriy Asaulenko:

МТ наверное 64. а ДЛЛ 64-бит?

Простите за дурацкий вопрос.)

тю блин... похоже в этом причина, к моему стыду, МТ ведь 64 битный нынче, спасибо!!!

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий