Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 1069

 
Возможен ли экспорт из С++и импорт в mql функций типа datetime? Я подозреваю что это невозможно функции работают только в той оболочке в которой они созданы, но хотелось по интересоваться у знающих людей?
 
Viatcheslav Pashkov:

вот именно это я и читал.

но писали видимо для тех, кто знал, но подзабыл. 

А мне та информация ни сколько не помогла. 

 приведете самый простой пример? 

template<typename T>
T Add(T first,T second) {return first+second;}
 
Seric29:
Возможен ли экспорт из С++и импорт в mql функций типа datetime? Я подозреваю что это невозможно функции работают только в той оболочке в которой они созданы, но хотелось по интересоваться у знающих людей?

Можно. datetime - это, всего навсего, 64 бита, которые mql компилятор уже и воспринимает как POSIX-время. Так что? ничего не мешает создавать в dll функции, которые будут Вам INT64 возвращать с количеством тех самых секунд, прошедших с 00:00:00 01.01.1970

В dll будет:

INT64 Foo(...){...}

а объявлять при импорте можно

datetime Foo(...);

 

неделю не могу зарегаться как продавец, упорно нет кнопки регистрация. ранее дважды не мог оплатить товар (3 недели переоформляли) до этого месяц+ регался как этот аккаунт.

ну и в какой бубен надо зарядить чтобы кнопочка появилась? https://www.metatrader5.com/ru/terminal/help/market/market_sell читал

Как стать продавцом - Маркет - магазин приложений - Справка по MetaTrader 5
Как стать продавцом - Маркет - магазин приложений - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая платформа обладает многомиллионной аудиторией трейдеров. Став продавцом в Маркете, вы получите прямой доступ к ним, ведь ваш продукт появится прямо в торговой платформе на витрине Маркета. Помимо этого все продукты доступны на витрине Маркета на сайте MQL5.community. Как зарегистрироваться в качестве продавца # Чтобы иметь возможность...
 
Vladimir Simakov:

Можно. datetime - это, всего навсего, 64 бита, которые mql компилятор уже и воспринимает как POSIX-время. Так что? ничего не мешает создавать в dll функции, которые будут Вам INT64 возвращать с количеством тех самых секунд, прошедших с 00:00:00 01.01.1970

В dll будет:

INT64 Foo(...){...}

а объявлять при импорте можно

datetime Foo(...);

Спасибо за ответ, поддержали мой дух.

На киберфоруме создал столько тем по реализации даты. Никто не дал чётких ответов. А какие нужно подключать библиотеки и использовать ресурсы чтобы сгенерировать дату со стороны с++ в dll, в сети находил разные коды вставлял в компилятор они даже не компилировались?

 
Можно ли передать массив в с++ и изменить его параметры например количество строк и столбцов. В самом с++ это делается без проблем но при передаче массива из mql он не меняется вопрос почему? 
 
Seric29:

Спасибо за ответ, поддержали мой дух.

На киберфоруме создал столько тем по реализации даты. Никто не дал чётких ответов. А какие нужно подключать библиотеки и использовать ресурсы чтобы сгенерировать дату со стороны с++ в dll, в сети находил разные коды вставлял в компилятор они даже не компилировались?

Могу только классиков процитировать: "Пилите Шура...". Для начала разберитесь как ОС со временем работает: https://docs.microsoft.com/en-us/windows/win32/sysinfo/time-functions

Когда разберетесь, все легко и просто станет, но - это ваш путь и знания вам никто не вложит, только сами.

PS. Поменьше бездумного Copy-Paste на первых шагах, сразу в тонкости вникайте.

Time Functions - Win32 apps
  • 2018.05.31
  • mcleanbyron
  • docs.microsoft.com
The following functions are used with system time.
 
Vladimir Simakov:

Могу только классиков процитировать: "Пилите Шура...". Для начала разберитесь как ОС со временем работает: https://docs.microsoft.com/en-us/windows/win32/sysinfo/time-functions

Когда разберетесь, все легко и просто станет, но - это ваш путь и знания вам никто не вложит, только сами.

PS. Поменьше бездумного Copy-Paste на первых шагах, сразу в тонкости вникайте.

Это готовые функции для работы с временем или нужны ещё дополнительные библиотеки, просто мне уже много чего находил но не разобрался как с этим работать. Скажите а нет ли у вас ссылок на видео в ютубе? Я ни одного видео про работу с датой в интернете не видел, текстовую информацию то находил либо сложную либо не рабочюю а видео нет?

Также я не могу понять  почему не работает такой код из с++ для mql4?

// ConsoleApplication5.cpp: определяет экспортированные функции для приложения DLL.
//со стороны mql объявляем массив формата int Mas[1] 

#include "stdafx.h"
#include <conio.h>
#include <iostream>

using std::cout;
using std::endl;
using std::cin;

using namespace std;//пытался выводить в консоль инфу но не работает может можно выводить в файл

#define _DLLAPI extern "C" __declspec(dllexport)


//данный пример работает в с++ но не работает в mql4
void Perenapr(int *&mas){// принимает массив как указатель на ссылку
int *arr=new int[10];// создаём новый массив/ новый участок памяти куда будем перенаправлять указатель со старого участка
for(int y=-1;++y<5;)//присваиваем элементы
arr[y]=y+1;
mas=arr;// перенаправляем указатель на новый участок памяти в результате со стороны mql указатель не меняется
// создаётся впечатление что в с++ из mql массив передается по значению а изменить форму массива из
// mql нельзя только из самого mql
}
_DLLAPI int __stdcall  test(int q,int w){
        return(189);}

_DLLAPI void __stdcall PriomMas(int mas[]){// данная функция принимает массив
Perenapr(mas);//данная функция перенаправляет указатель массива на ссылку указатель int *&mas
}


Данный пример работает в с++ но не работает в mql4, возникает вопрос можно ли менять массивы внешними программами  или они статические и меняются только в mql/

 
Seric29:

Это готовые функции для работы с временем или нужны ещё дополнительные библиотеки, просто мне уже много чего находил но не разобрался как с этим работать. Скажите а нет ли у вас ссылок на видео в ютубе? Я ни одного видео про работу с датой в интернете не видел, текстовую информацию то находил либо сложную либо не рабочюю а видео нет?

Также я не могу понять  почему не работает такой код из с++ для mql4?


Данный пример работает в с++ но не работает в mql4, возникает вопрос можно ли менять массивы внешними программами  или они статические и меняются только в mql/

не надо пытаться писать DLL на языке которого вы не знаете.

Сильно сэкономите нервы и время пройдя предварительно пару обучающих курсов.

С достаточной усидчивостью и целеустремлённостью это пара недель всего. Заодно можно будет на стену повесить пару красивых бумажек-сертификатов

 
Seric29:

Это готовые функции для работы с временем или нужны ещё дополнительные библиотеки, просто мне уже много чего находил но не разобрался как с этим работать. Скажите а нет ли у вас ссылок на видео в ютубе? Я ни одного видео про работу с датой в интернете не видел, текстовую информацию то находил либо сложную либо не рабочюю а видео нет?

Также я не могу понять  почему не работает такой код из с++ для mql4?


Данный пример работает в с++ но не работает в mql4, возникает вопрос можно ли менять массивы внешними программами  или они статические и меняются только в mql/

ИМХО конечно, но есть мнение и я его поддерживаю

Изучение по видео, примерам, форумам, кричание на них хелп ми и тп - прямой путь к moncey-кодеру. Только учебники, только доки, только бессонные ночи и литры кофе в поисках решения сделают из кодера разработчика.