Sviluppa direttamente in C#/VisualBasic e .NET le tue DLL

Sezione dedicata a metatrader (ed altre piattaforme) ed al suo linguaggio di programmazione per il trading automatico
Rispondi
stealthForex

Sviluppa direttamente in C#/VisualBasic e .NET le tue DLL

Messaggio da stealthForex »

Come sappiamo, la metatrader vuole le DLL UNMANAGED = sviluppate in C++

C'è però una strada alternativa che ti permetterà di svilupparle direttamente MANAGED = in C# o VisualBasic con tutta la semplicità e la potenza del .NET

Metto le istruzioni di base, ma sono a disposizione per qualunque chiarimento o approfondimento
  1. Se non ce l'hai già, ormai ti conviene utilizzare il VISUAL STUDIO COMMUNITY anziché le versioni EXPRESS
  2. Puoi scaricare tutto qui https://www.visualstudio.com/en-us/prod ... ty-vs.aspx
  3. Ovviamente è tutto LIBERO e GRATUITO... come piace a me!
  4. Una volta che hai l'ambiente di sviluppo, apri un nuovo progetto in C# o Visual Basic di tipo "Class Library"
  5. Dal menù in alto seleziona TOOLS -> NUGET PACKAGE MANAGER -> PACKAGE MANAGER CONSOLE
  6. Nella finestra che si apre in basso, aspetta che compaia il prompt dei comandi (ci vuole un po'!) poi digita o direttamente copia e incolla (senza il prompt iniziale PM> che c'è già)

    Codice: Seleziona tutto

    PM> Install-Package UnmanagedExports
  7. Questo aggiungerà tutta una serie di REFERENCES al tuo progetto
  8. Sviluppa il tuo progetto e mettici dentro tutto quello che vuoi! Dalle interfacce grafiche alla gestione dei protocolli di comunicazione, tipo HTTP, TCP, ...
  9. Compila normalmente e avrai una DLL UNMANAGED, esattamente come se fosse stata sviluppata in C++
  10. A questo punto non ti resta che metterla nella cartella delle DLL, dichiararla e utilizzarla nei tuoi EA!
160601-1525-Package-Managed-to-Unmanaged-DLL.png
160601-1525-Package-Managed-to-Unmanaged-DLL.png (87.2 KiB) Visto 1653 volte
Ultima modifica di stealthForex il 01/06/2016, 22:26, modificato 1 volta in totale.
xr2009
Messaggi: 43
Iscritto il: 10/08/2015, 19:57

Re: Sviluppa direttamente in C#/VisualBasic e .NET le tue DL

Messaggio da xr2009 »

Ciao,
sono un seguitore del tuo blog..
mi piacerebbe apprendere a programmare DLL pero' non saprei da che parte incominciare..
il linguaggio MQL4 e da un anno piu' o meno che sto apprendendo.
Conosci qualche manuale o sito internet di preferenza per poter iniziare con le DLL?
Grazie
Roberto
stealthForex

Re: Sviluppa direttamente in C#/VisualBasic e .NET le tue DL

Messaggio da stealthForex »

Ciao Roberto e grazie a te !

In pratica la DLL fa "qualcosa" che l'mql4 non riesce o non è previsto che faccia, l'esempio tipico è la comunicazione di dati TCP/IP o avere delle interfacce grafiche esterne che permettono a te (o ai tuoi Clienti) di seguire e cambiare i parametri senza dover fermare l'EA

Se programmi a livello professionale, perciò poi vendi l'EA o lo sviluppi su misura, basta mettere una "parte" dell'EA dentro a una DLL, poi la "cripti" (in Visual Studio c'è proprio l'opzione da impostare e poi fa lui) e in questo modo rimane tutto nascosto e inacessibile al Cliente, che dovrà per forza rivolgersi sempre a te

Ancora meglio, se realizzi per te o per qualcun'altro un EA che andrà distribuito su larga scala, puoi "nascondere" e rendere inacessibili le parti riservate, tipo gli algoritmi di funzionamento o altro, con delle chiavi di accesso, proteggendolo così dalla copia abusiva

Qualunque sia lo scopo, alla fine tutto si riduce nell'imparare l'accoppiata (che io preferisco) C#/.NET e l'ambiente Visual Studio

A questo punto la scelta è semplicissima: imparare da chi l'ha creato!

Se te la cavi con l'inglese (tecnico, perciò molto semplificato) questo è un vero e proprio corso completo che parte dalle basi, studiato apposta direttamente dalla Microsoft

https://mva.microsoft.com/en-us/trainin ... 6900115888

Lo stesso identico corso c'è anche in italiano, non cambia nulla

https://mva.microsoft.com/it-IT/trainin ... 6900115888

Se riesci, è meglio quello inglese, solo perché quando poi cerchi qualcosa in internet, tovi la stessa terminologia tecnica, mentre in italiano spesso la traduzione non corrisponde

Spero ti sia d'aiuto, e in ogni caso ci sentiamo sempre qui sul FORUM per qualunque problema o dubbio
Paperik
Messaggi: 26
Iscritto il: 22/09/2015, 22:09

Re: Sviluppa direttamente in C#/VisualBasic e .NET le tue DL

Messaggio da Paperik »

Ciao, ottimo post, ti seguirò. Grazie per le info
stealthForex

Re: Sviluppa direttamente in C#/VisualBasic e .NET le tue DL

Messaggio da stealthForex »

Paperik ha scritto:Ciao, ottimo post, ti seguirò. Grazie per le info
Figurati, grazie a te! Sono a disposizione per qualunque dubbio o chiarimento :yes:
incoldblood
Messaggi: 14
Iscritto il: 08/06/2021, 17:35

Re: Sviluppa direttamente in C#/VisualBasic e .NET le tue DLL

Messaggio da incoldblood »

Buongiorno a tutti, mi sono letto le tre discussioni principali sullo sviluppo e la creazione sia delle dll che per proteggere l'ea.

Adesso quello che vorrei capire è questo. Ho acquistato un EA, me lo hanno installato ed è legato al conto. All'interno dei settaggi in fondo alla pagina trovo appunto i settaggi licenza, una miriade di numeri e lettere insomma chiamiamola licenza. Possibile che sia solamente quella? giustamente se provo a farlo girare su un altro conto non va anche se è lo stesso conto ma computer diverso.

quindi evidentemente è anche legato al pc dov'è stato installato. Ci sono cartelle specifiche dove vengono messi i file? oppure è tutto random?
incoldblood
Messaggi: 14
Iscritto il: 08/06/2021, 17:35

Re: Sviluppa direttamente in C#/VisualBasic e .NET le tue DLL

Messaggio da incoldblood »

Mi correggo, tutto quello che serve sta nel file ex4. Ho provato a copiare solamente i settaggi con il numero licenza alla fine sullo stesso conto ma su un pc diverso e funziona, quindi non credo ci siano ulteriori file da installare. Oppure si autoinstallano al momento della prima partenza dell'expert?
ù
Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti