Вроде так нужно:
VC++: __declspec(dllexport) BOOL __stdcall GetData(double *d, char *s1, char *s2);
MQL4: int GetData(double& d[], string s1, string s2);
VC++: __declspec(dllexport) BOOL __stdcall GetData(double *d, char *s1, char *s2);
MQL4: int GetData(double& d[], string s1, string s2);
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
К примеру записать на MQ4:
int GetData(double &d1, double &d2, string &s1, string &s2);
А на C++:
BOOL GetData(double &d1, double &d2, char* &s1, char* &s2);
или так:
BOOL GetData(double *d1, double *d2, char* s1, char* s2);
Одновременно желательно передать четыре значения.
Как правильно объявлять прототипы функций на MQ4 и C++, чтобы избежать краха?
Строки фиксированной длины и в MQ4 можно приравнять заранее строку нужной длины к переменной строки.