Discussione sull’articolo "Esposizione del codice C# in MQL5 utilizzando esportazioni non gestite" - pagina 4
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Da un mese sto timidamente suggerendo di creare un wiki-tutorial su mql5, compilato dalla comunità. Questo risolverebbe i problemi del mega-tutorial. Gli autori potrebbero anche essere ricompensati con crediti per articoli particolarmente visitati.
Il motore del wiki è gratuito e disponibile.
// Se Metaquotes non vuole farlo, qualcun altro potrebbe farlo su un sito esterno. Io, per esempio, ci sto pensando.
Per i siti esterni c'è un problema: abbiamo il copyright sul nostro materiale. E quando si crea un wiki esterno, quasi il 100% del testo sarà un copia-incolla del nostro materiale.
Si potrebbe sostenere che i wiki pubblici sono un'utopia. L'idea dei wiki pubblici è stata seppellita nella pratica per molto tempo. Guardate quanto impegno mettiamo nello sviluppo delle nostre comunità e della documentazione. Si tratta di un sacco di soldi e di lavoro quotidiano.
La soluzione al problema sta nella creazione di contenuti gestiti con consegna obbligatoria al terminale di ogni utente. Questo aumenta l'efficienza della familiarizzazione di massa da un trascurabile 0,00x% a un realistico 3-5%.
Aumentiamo il volume e la connettività dei materiali MQL5 su base giornaliera. Il progetto di documentazione(linguaggio MQL5, guida, multilingua) occupa una parte molto importante del nostro lavoro.
Per i siti esterni c'è un problema: abbiamo il copyright sui nostri materiali. E quando si crea un wiki esterno, quasi il 100% del testo sarà copiato dai nostri materiali.
Si può sostenere che i wiki pubblici siano un'utopia. L'idea dei wiki pubblici è stata seppellita nella pratica per molto tempo. Guardate quanto impegno mettiamo nello sviluppo delle nostre comunità e della documentazione. Si tratta di un sacco di soldi e di lavoro quotidiano.
La soluzione al problema sta nella creazione di contenuti gestiti con consegna obbligatoria al terminale di ogni utente. Questo aumenta l'efficienza della familiarizzazione di massa da un trascurabile 0,00x% a un realistico 3-5%.
Aumentiamo il volume e la connettività dei materiali MQL5 su base giornaliera. Il progetto di documentazione(linguaggio MQL5, guida, multilingua) occupa una parte molto importante del nostro lavoro.
Che ne dite di rilanciare i concorsi nell'ambito del tutorial? Dopo tutto, i nuovi arrivati chiedono un libro di testo.
Facciamo un concorso a più fasi, i partecipanti si registrano, presentano un piano per il libro di testo, il 50% viene eliminato, gli altri vengono pagati 20 dollari ciascuno, passano alla seconda fase, ecc.
Fino alla fine della maratona arriveranno alla fine pochi ma con i lavori migliori. Stabilite dei termini reali di creazione con un semestre, suddividetelo in fasi e tutto si risolverà.
È un articolo molto interessante e utile sull'interop generale tra C++ e .NET.
La strategia più semplice da implementare è la "2.4. Classe wrapper C++/Cli", perché è possibile utilizzare le API .NET in C++/cli senza alcun problema, quindi l'unico codice collante è una piccola e semplice classe che contiene "gcroot".
Questo approccio è stato scelto come base per l'implementazione di http://www.nquotes.net, una libreria che consente la programmazione MQL in C#.
Anche se la prima versione supporta solo MQL4, sarà sicuramente portata a MQL5 nelle versioni future.
Ottimo articolo, molto, molto utile. Ma...
Ho un piccolo problema con Visual Studio. Se creo un nuovo progetto utilizzando il modello e lo costruisco, VS non ha problemi. Posso quindi salvare il nuovo progetto (compresa la dll costruita) su disco, in una cartella di soluzioni. La dll viene eseguita correttamente. Tuttavia, se rientro nel progetto salvato in VS, si lamenta che il progetto "RGiescke.DllExport.targets" non viene trovato o non è presente sul disco, sebbene il file sia presente.
Credo che sia un problema del file di progetto.....
Ottimo tutorial, mi piace.
Grandi ringraziamenti.
Ciao Investeo,
Grazie per questo articolo che è stato molto utile, anche se sembra che io abbia affrontato qualche problema cercando di utilizzare il modello di RGiesecke.
Quando ho creato e costruito una DLL ho usato DLL Export Viewer per controllare i nomi delle funzioni esportate per poterle trovare e chiamare tramite GetProcAddress. Purtroppo la DLL stessa viene caricata correttamente con la funzione LoadLibrary ma GetProcAddress restituisce l'errore 127 - Function not found. Allo stesso tempo DLL Export Viewer mostra che nessuna delle mie funzioni è stata esportata ...
Potresti suggerire cosa può essere sbagliato nel mio codice?
E poi nell'applicazione Win 32 Console sto facendo quanto segue:
Grazie, Art
A proposito, MetaTrader 5 è in grado di importare in modo nativo le funzioni dalle DLL scritte in .NET già da diverse versioni.
Abbiamo appositamente aggiunto questo supporto e ora non è più necessario utilizzare soluzioni alternative.
Non riesco a trovare informazioni su come rendere la funzione .Net estemporanea. Chi può, per favore condivida un link o un semplice esempio.
Attivate "Mostra tutti i tipi di file" nel navigatore dell'editor, prendete la vostra DLL con il mouse e gettatela nella finestra MQL5 del programma.
Molto probabilmente il risultato vi sorprenderà.
Attivate "Mostra tutti i tipi di file" nel navigatore dell'editor, prendete la vostra DLL con il mouse e gettatela nella finestra MQL5 del programma.
Probabilmente sarete sorpresi dal risultato.
cool.
Se potessi inserire tutte le funzioni della DLL in una volta sola.
Attivate "Mostra tutti i tipi di file" nel navigatore dell'editor, prendete la vostra DLL con il mouse e gettatela nella finestra MQL5 del programma.
Probabilmente sarete sorpresi dal risultato.
P.S.
Win8 Enterprise 64
MetaEditor build 842
La lib .Net ha una funzione: