Импорт dll в mql4

 

Ребята, нужна помощь в вопросе импорта dll в индикатор (mql4).
Это достаточно известный математический пакет MathNet.Numerics
Я выкачал dll, добавил в импорт
#import "MathNet.Numerics.dll"
double Line(double &a[], double &b[]);
#import
Первая проблема в том, что функция Line находится в классе Fit, который принадлежит непосредственно пространству имен MathNet.Numerics...
Иными словами, я не могу добраться до Line:

Если я пишу Fit.Line(...), тоже ошибки


Итак, можно ли как-то в mql4 при импорте dll обратиться к определенному типу пространства имен и уже в этом типе получить ссылку на метод?

Вторая проблема в том, что Fit.Line на самом деле возвращает не double, а структуру ValueTuple<double,double>

Как в таком случае правильно записать тип при импорте?

И наконец третья проблема - некоторые методы в параметра используют другие методы, например


Как в таком случае правильно записать метод Curve при импорте?
 

Посмотрите точные имена экспортируемых из библиотеки функций через depends.exe или аналогичные программы.

 
хорошо, спасибо за наводку.
Тем не менее, вопросы остались теми же - если я узнаю точное имя, то каков будет синтаксис обращения в mql4 после #import "MathNet.Numerics.dll"?
На самом деле полный путь и точное имя есть в документации к библиотеке и он вот такой:  MathNet.Numerics.Fit.Line(double[] x, double[] y)
Осталось понять, как этот путь корректно импортировать.

 
В DLL необходимо создать экспортируемую функцию. А уже через нее осуществлять доступ к экземплярам классов. Если метод класса не объявлен как экспортируемый, то к нему никак не обратиться извне.
 
Ihor Herasko #:
В DLL необходимо создать экспортируемую функцию. А уже через нее осуществлять доступ к экземплярам классов. Если метод класса не объявлен как экспортируемый, то к нему никак не обратиться извне.

Это справедливо и для mql4 или только для mql5?
Если это внешняя несамописная библиотека, то видимо, я в пролете...

 
Это дотнет, у этих библиотек нет классических нативных экспортов. Однако, есть её исходники на шарпе, можете портировать в mql.
 
SeriousRacoon #:
Это дотнет, у этих библиотек нет классических нативных экспортов. Однако, есть её исходники на шарпе, можете портировать в mql.
Вот это интересно. Мб у вас и ссылочка на исходники есть? я что-то найти не могу. Я качал саму длл через VS по названию
 
polous #:
Вот это интересно. Мб у вас и ссылочка на исходники есть? я что-то найти не могу. Я качал саму длл через VS по названию

Вторая ссылка в гугле же. https://github.com/mathnet/mathnet-numerics

GitHub - mathnet/mathnet-numerics: Math.NET Numerics
GitHub - mathnet/mathnet-numerics: Math.NET Numerics
  • mathnet
  • github.com
Math.NET Numerics is an opensource numerical library for .NET and Mono . Math.NET Numerics is the numerical foundation of the Math.NET initiative, aiming to provide methods and algorithms for numerical computations in science, engineering and every day use. Covered topics include special functions, linear algebra, probability models, random...