Crea la tua estensione MetaTrader (dll) - pagina 7

 

Vuoi dire come quando si calcola un indicatore?

Allora sì, per esempio ho scritto la mia funzione ATR in una DLL e quello che succede è che la mia DLL ATR usa lo smoothing di wilder mentre MT4 usa solo una media semplice... Lo stesso vale per qualsiasi indicatore scritto da wilders e altri indicatori che sembrano avere più versioni ...

Vorrei prima assicurarmi che i tuoi indicatori danno gli stessi risultati della piattaforma MT4 dalla DLL ...

Patrick

 

DLL e indicatori

Qualcuno ha qualche tipo o best practice generale per l'utilizzo di una dll in un indicatore (come ottenere la gamma di prezzi nella dll, ecc)? Voglio avere una dll che calcoli i valori invece di usare funzioni in MetaTrader.

Grazie!

 

Pagina non trovata!

mistigriFX.com non può più essere trovato. quale potrebbe essere la ragione?

 

Come farli funzionare?

Mistigri:
Ciao Tim,

Quando si usa dev-c++ il file def viene generato automaticamente per voi, il problema è che vi ritrovate con nomi di funzioni che assomigliano a questo:

EXPORTS

_Z11GetSMAArrayP8RateInfoiiPd@16 @ 1

_Z12GetHighValueP8RateInfoii = _Z12GetHighValueP8RateInfoii@12 @ 2

_Z12GetHighValueP8RateInfoii@12 @ 3

_Z13GetCloseValueP8RateInfoii = _Z13GetCloseValueP8RateInfoii@12 @ 4

_Z13GetCloseValueP8RateInfoii@12 @ 5

_Z11GetSMAArrayP8RateInfoiiPd = _Z11GetSMAArrayP8RateInfoiiPd@16 @ 6[/PHP]

Now you need to make sure you add the following check around your code

[PHP]

#ifdef __cplusplus

extern "C" {

#endif

#ifdef __cplusplus

}

#endif

In allegato ci sono i file di esempio che ho fatto per VS2008 ma questa volta usando dev-c++ ...

Spero che questo aiuti

come facciamo a testare quei file?? cosa dovremmo fare? Per quanto ne so, le applicazioni host per Dev C++ sono solo exe. Come possiamo usare gli exe4?

 
xarlotie:
Come possiamo testare questi file? Cosa dobbiamo fare? Per quanto ne so, le applicazioni host per Dev C++ sono solo exe. Come possiamo usare gli exe4?

oh, che domanda molto stupida! scusate per questo...ho capito la risposta...ignorate questo post...grazie!

 
codersguru:
Chiunque sia interessato a creare la propria estensione MetaTrader (dll) può andare su:

Creare la propria estensione MetaTrader (dll) - Parte 1

Creare la propria estensione MetaTrader (dll) - Parte 2

Ci sarà un'altra parte (o 2) che sto scrivendo!

Spero che vi piaccia!

Grazie mille per

l'articolo.

 
codersguru:
Chiunque sia interessato a creare la propria estensione MetaTrader (dll) può andare su:

Creare la propria estensione MetaTrader (dll) - Parte 1

Creare la propria estensione MetaTrader (dll) - Parte 2

Ci sarà un'altra parte (o 2) che sto scrivendo!

Spero che vi piacciano!

Ho cercato di seguire i passi:

Figura 2 - Finestra di dialogo del nuovo progetto

3- Da questa finestra di dialogo scegliere "MFC AppWizard (dll)" e scrivere un nome per il progetto nel campo "Project Name" (Figura 3) e cliccare "OK".

Tuttavia non c'è questa scelta "MFC AppWizard (dll)".

Sto usando C++ 2008 express di MS

Cosa sto facendo di sbagliato?

 

Ciao nessun corpo aiuta?

Qualcuno può fare un tutorial per C++2008 per favore?

sub00:
Ho provato a seguire i passi:

Figura 2 - Dialogo nuovo progetto

3- Da questa finestra di dialogo scegli "MFC AppWizard (dll)" e scrivi un nome per il progetto nel campo "Project Name" (Figura 3) e clicca "OK".

Tuttavia non c'è questa scelta "MFC AppWizard (dll)".

Sto usando C++ 2008 express di MS

Cosa sto facendo di sbagliato?
 
Mistigri:
Ho appena finito un video su come scrivere una DLL per MT4 ... Ho cercato di fare un esempio che restituisca un array, dato che è proprio quello che pensavo mancasse quando ho iniziato a guardare l'esempio fornito da MetaQuotes.

Guarda il video

Se siete interessati solo al codice e al progetto VS, questi possono essere scaricati qui.

Spero vi piaccia

Patrick

Video impressionante, proprio quello che stavo cercando!

Molto rispetto.

 

Ho scaricato e compilato il progetto di mistigri con VS++2008

Le prime due funzioni funzionano bene, ma la seconda manda in crash il terminale proprio come in questo articolo:

Come usare i Crashlog per il debug delle proprie DLL - Articoli MQL4

Ottengo un'eccezione C0000005 lanciata ...

Exception : C0000005

Address : 77C36FA3

Access Type : read

Finora non ho capito cosa c'è di sbagliato. Qualcosa che ha a che fare con il modo in cui l'array OutPut[] viene passato nella DLL. Qualsiasi input sarebbe apprezzato!