Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1069

 
È possibile esportare da C++ e importare funzioni datetime in mql? Ho il sospetto che non sia possibile che le funzioni funzionino solo nella shell in cui vengono create, ma vorrei saperlo da persone competenti?
 
Viatcheslav Pashkov:

Questo è esattamente quello che ho letto.

Ma deve essere stato scritto per coloro che sapevano ma avevano dimenticato.

Questa informazione non mi ha aiutato neanche un po'.

Puoi farmi un semplice esempio?

template<typename T>
T Add(T first,T second) {return first+second;}
 
Seric29:
È possibile esportare da C++ e importare in mql funzioni come datetime? Ho il sospetto che non sia possibile che le funzioni funzionino solo nella shell in cui sono state create, ma vorrei chiedere a qualche persona esperta?

È possibile. Datetime è solo 64 bit, che il compilatore mql percepisce già come tempo POSIX. Quindi, nulla vi impedisce di creare funzioni in dll che restituiranno INT64 con il numero di secondi che sono passati da 00:00:00 01.01.1970.

Il dll conterrà:

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

e si può dichiarare quando si importa

datetime Foo(...);

 

Non posso iscrivermi come venditore da una settimana, non c'è nessun pulsante di iscrizione. Non ho potuto pagare due volte prima (mi ci sono volute 3 settimane per registrarmi di nuovo) e mi ci è voluto più di un mese per iscrivermi come questo account.

qual è il tamburello per ottenere il pulsante? https://www.metatrader5.com/ru/terminal/help/market/market_sell

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

È possibile. Datetime è solo 64 bit, che il compilatore mql percepisce già come tempo POSIX. Quindi, nulla vi impedisce di creare funzioni in dll che restituiranno INT64 con il numero di secondi che sono passati da 00:00:00 01.01.1970.

Il dll conterrà:

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

ed è possibile dichiarare quando si importa.

datetime Foo(...);

Grazie per la risposta, mi ha tenuto su il morale.

Ho creato così tanti topic su cyberforum sull'implementazione della data. Nessuno ha dato risposte chiare. E quali librerie e risorse devo collegare per generare la data dal lato C++ in dll, ho trovato diversi codici in rete e li ho inseriti nel compilatore, non hanno nemmeno compilato?

 
È possibile passare un array a c++ e cambiare i suoi parametri come il numero di righe e colonne. In C++ stesso questo viene fatto senza problemi, ma quando passo un array da mql non cambia la domanda perché?
 
Seric29:

Grazie per la risposta, mi ha tenuto su il morale.

Ho creato tanti thread su cyberforum sull'attuazione della data. Nessuno ha dato risposte chiare. Quali librerie e risorse dovrei usare per generare la data da++ in dll, ho trovato diversi codici in rete e li ho inseriti nel compilatore, ma non hanno nemmeno compilato?

Posso solo citare i classici: "Saw Shura...". Prima di tutto, capire come funziona il sistema operativo con il tempo: https://docs.microsoft.com/en-us/windows/win32/sysinfo/time-functions

Quando lo capirete, tutto sarà facile e semplice, ma - questa è la vostra strada e nessuno investirà la conoscenza in voi, solo voi stessi.

PS. Meno copia-incolla senza cervello nei primi passi, entra subito nel vivo.

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

Posso solo citare i classici: "Saw Shura...". Per cominciare, capire come funziona il sistema operativo nel tempo: https://docs.microsoft.com/en-us/windows/win32/sysinfo/time-functions

Quando lo capirete, tutto sarà facile e semplice, ma - questa è la vostra strada e nessuno investirà la conoscenza in voi, solo voi stessi.

PS. Meno copia-incolla senza cervello sui primi passi, entra subito nelle sottigliezze.

Sono queste funzioni pronte per lavorare con il tempo o hai bisogno di librerie aggiuntive, ho appena trovato un sacco di cose ma non ho capito come lavorarci. Hai qualche link ai video di youtube? Non ho mai visto nessun video su Internet su come lavorare con la data, ho trovato informazioni testuali complicate o non funzionali e nessun video?

Inoltre non capisco perché il codice c++ per mql4 non funziona.

// 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
}


Questo esempio funziona in c++ ma non in mql4. Mi chiedo se si possono cambiare gli array con programmi esterni o sono statici e cambiano solo in mql/

 
Seric29:

Sono funzioni pronte all'uso per lavorare con il tempo o hai bisogno di librerie aggiuntive, ho trovato molte cose ma non ho capito come lavorarci. Hai qualche link ai video di youtube? Non ho mai visto nessun video su Internet su come lavorare con la data, ho trovato informazioni testuali complicate o non funzionali e nessun video?

Inoltre non capisco perché il codice c++ per mql4 non funziona.


Questo esempio funziona in c++ ma non in mql4. Mi chiedo se si possono cambiare gli array con programmi esterni o sono statici e cambiano solo in mql/

Non cercate di scrivere una DLL in un linguaggio che non conoscete.

Risparmierete un sacco di nervi e di tempo facendo un paio di corsi di formazione in anticipo.

Con abbastanza diligenza e determinazione, sono solo un paio di settimane. Puoi appendere al muro un paio di bei certificati allo stesso tempo

 
Seric29:

Sono funzioni pronte all'uso per lavorare con il tempo o hai bisogno di librerie aggiuntive, ho trovato molte cose ma non ho capito come lavorarci. Hai qualche link ai video di youtube? Non ho mai visto nessun video su Internet su come lavorare con la data, ho trovato informazioni testuali complicate o non funzionali e nessun video?

Inoltre non capisco perché il codice c++ per mql4 non funziona.


Questo esempio funziona in c++ ma non in mql4. Mi chiedo se si possono cambiare gli array con programmi esterni o sono statici e cambiano solo in mql/

IMHO naturalmente, ma c'è un'opinione e io la sostengo

Imparare dai video, dagli esempi, dai forum, dalle grida di aiuto ecc. è un percorso diretto per diventare un codificatore monco. Solo i libri di testo, solo i documenti, solo le notti insonni e i litri di caffè alla ricerca di una soluzione faranno di un codificatore uno sviluppatore.

Motivazione: