Crea la tua estensione MetaTrader (dll) - pagina 4

 

Ecco l'ECCEZIONE:

C'è stato un errore critico

Tempo : 2009.03.05 14:32

Programma : Terminale client

Versione : 4.00 (build: 220, 7 Nov 2008)

OS : Windows Vista Professional 6.0 Service Pack 1 (Build 6001)

Processori : 2 x X86 (livello 15)

Memoria : 4194303/4194303 kb

Eccezione : C0000005

Indirizzo : 8B222B17

Tipo di accesso : leggere

Addr di accesso : 8B222B17

Registri: EAX=00000000 CS=0023 EIP=8B222B17 EFLGS=00010246

: EBX=0045FE84 SS=002b ESP=061BFEF8 EBP=061BFF30

: ECX=00000000 DS=002b ESI=05703E68 FS=0053

: EDX=000000FF ES=002b EDI=05703E70 GS=002b

Traccia dello stack: 004552FD 76672DEB 7613E3F3 779BCFED

: 779BD1FF 00000000 00000000 00000000

: 00000000 00000000 00000000 00000000

: 00000000 00000000 00000000 00000000

Moduli :

1 : 00400000 004F6000 c:\program files (x86)\fxdd - metatrader 4\terminal.exe

2 : 10000000 0001B000 c:\windows\system\expertsample.dll

3 : 16080000 00019000 c:\program files (x86)\bonjour\mdnsnsp.dll

4 : 71E70000 00123000 c:\windows\winsxs\x86_microsoft.vc90.debugcrt_1fc8b3b9a1e18e3b_9.0.30729.1_none_bb1f6aa1308c35eb\msvcr90d.dll

5 : 746D0000 000BA000 c:\windows\system32\propsys.dll

6 : 74950000 00066000 c:\windows\system32\audioeng.dll

7 : 74AF0000 00014000 c:\windows\system32\msacm32.dll

8 : 74B10000 00021000 c:\windows\system32\audioses.dll

9 : 74B40000 00065000 c:\windows\system32\odbc32.dll

10 : 74BB0000 0011B000 c:\windows\system32\mfc42.dll

11 : 74DB0000 0002F000 c:\windows\system32\wdmaud.drv

12 : 74DF0000 0002D000 c:\windows\system32\wintrust.dll

13 : 74E70000 00005000 c:\windows\system32\msimg32.dll

14 : 74E80000 00038000 c:\windows\system32\odbcint.dll

15 : 74EC0000 00005000 c:\windows\system32\wshtcpip.dll

16 : 74F20000 00006000 c:\windows\system32\rasadhlp.dll

17 : 74F90000 00027000 c:\windows\system32\mmdevapi.dll

18 : 74FC0000 00080000 c:\windows\system32\uxtheme.dll

19 : 75040000 00007000 c:\windows\system32\midimap.dll

20 : 75080000 00009000 c:\windows\system32\msacm32.drv

21 : 75090000 00004000 c:\windows\system32\ksuser.dll

22 : 750B0000 00007000 c:\windows\system32\avrt.dll

23 : 750C0000 0002C000 c:\windows\system32\apphelp.dll

24 : 750F0000 0003B000 c:\windows\system32\mswsock.dll

25 : 75130000 0003B000 c:\windows\system32\rsaenh.dll

26 : 75170000 00012000 c:\windows\system32\pnrpnsp.dll

27 : 751A0000 00008000 c:\windows\system32\winrnr.dll

28 : 751B0000 0000F000 c:\windows\system32\napinsp.dll

29 : 751C0000 0000F000 c:\windows\system32\nlaapi.dll

30 : 751E0000 00021000 c:\windows\system32\dhcpcsvc6.dll

31 : 75210000 00007000 c:\windows\system32\winnsi.dll

32 : 75220000 0002C000 c:\windows\system32\dnsapi.dll

33 : 75250000 00035000 c:\windows\system32\dhcpcsvc.dll

34 : 75290000 00019000 c:\windows\system32\iphlpapi.dll

35 : 75440000 0019E000 c:\windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.6001.18000_none_5cdbaa5a083979cc\comctl32.dll

36 : 75780000 0001E000 c:\windows\system32\userenv.dll

37 : 757A0000 00012000 c:\windows\system32\msasn1.dll

38 : 757C0000 000F1000 c:\windows\system32\crypt32.dll

39 : 758E0000 00039000 c:\windows\system32\oleacc.dll

40 : 75920000 00032000 c:\windows\system32\winmm.dll

41 : 75A90000 00060000 c:\windows\syswow64\secur32.dll

42 : 75B50000 0007D000 c:\windows\syswow64\usp10.dll

43 : 75BD0000 000D0000 c:\windows\syswow64\wininet.dll

44 : 75CA0000 000C8000 c:\windows\syswow64\msctf.dll

45 : 75E00000 00045000 c:\windows\syswow64\iertutil.dll

46 : 75E50000 0004A000 c:\windows\syswow64\wldap32.dll

47 : 75EA0000 00006000 c:\windows\syswow64\nsi.dll

48 : 75EB0000 00009000 c:\windows\syswow64\lpk.dll

49 : 75EC0000 00084000 c:\windows\syswow64\clbcatq.dll

50 : 75F50000 00090000 c:\windows\syswow64\gdi32.dll

51 : 75FE0000 000D0000 c:\windows\syswow64\user32.dll

52 : 760B0000 00110000 c:\windows\syswow64\kernel32.dll

53 : 761C0000 00029000 c:\windows\syswow64\imagehlp.dll

54 : 761F0000 00003000 c:\windows\syswow64\normaliz.dll

55 : 76200000 00144000 c:\windows\syswow64\ole32.dll

56 : 76350000 0018A000 c:\windows\syswow64\setupapi.dll

57 : 764E0000 0002D000 c:\windows\syswow64\ws2_32.dll

58 : 76510000 000C6000 c:\windows\syswow64\advapi32.dll

59 : 765E0000 00073000 c:\windows\syswow64\comdlg32.dll

60 : 76660000 000AA000 c:\windows\syswow64\msvcrt.dll

61 : 76710000 00060000 c:\windows\system32\imm32.dll

62 : 76770000 00129000 c:\windows\syswow64\urlmon.dll

63 : 768A0000 0008D000 c:\windows\syswow64\oleaut32.dll

64 : 76930000 000F0000 c:\windows\syswow64\rpcrt4.dll

65 : 76A20000 00B10000 c:\windows\syswow64\shell32.dll

66 : 77530000 00007000 c:\windows\syswow64\psapi.dll

67 : 77670000 00058000 c:\windows\syswow64\shlwapi.dll

68 : 77940000 00160000 c:\windows\syswow64\ntdll.dll

Pila di chiamate :

 

Grossi problemi con la DLL

Sto avendo dei grossi problemi per far funzionare la mia DLL.

Finalmente sono arrivato al punto in cui può chiamare la DLL dall'interno di un EA, e non mi dà l'errore 127. Sfortunatamente, ogni singola volta ottengo un'eccezione.

Ho allegato l'intero progetto e i file MT4.

Se uno di voi divinità della programmazione potesse dare un'occhiata veloce, gliene sarei molto grato!

[NOTA: compilato su Visual Studio C++ Express 2008 Edition, in esecuzione su Vista x64 Ultimate dual-core con 6GB RAM]

-Jason

File:
dll_test.zip  1421 kb
 

creazione file .dll con Dev-C++ Editor per Metatrader

Qualcuno ha esperienza nella creazione di un file .dll con Dev-C++ che può essere usato per Metatarder.

Quando lo provo, penso che il file .def non sia correttamente incluso nel file .dll, e ottengo l'errore 127.

Ho trovato un tutorial su come creare un file .dll per Metatrader con Visual Studio, ma non con la versione gratuita, nella versione gratuita non c'è la possibilità di creare MFC-Dll come nel tutorial che ho visto.

Sarebbe utile per molte persone se ci fosse un tutorial su come creare file .dll con l'editor gratuito open source Dev-C++ da usare in Metatrader.

 

dev-C++ nome mangling ...

Ciao Tim,

Quando usi dev-c++ il file def viene generato automaticamente per te, il problema è che ti ritrovi 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

 

Ciao Mistigri,

grazie mille per il tuo buon aiuto.

Il video online che ho trovato era anche il tuo video.

Ho provato il tuo nuovo esempio per dev-c++ editor, funziona, grazie per il tuo aiuto per arrivare fino a qui.

Saluti

Tim

 

Ciao Patrick.

Se non mi sbaglio, tu lavori con IBFX un paio di anni fa... sei ancora con loro adesso? Raccogli ancora i tick?

Grazie per il tutorial....è quello che sto aspettando...

 

È interessante fare codice esterno con DLL. per quanto ne so rende il reverse engineering più difficile rispetto ai file ex4...

tuttavia, mi piacerebbe avere un pezzo di codice che può essere usato per fare richieste http o anche direttamente connettersi a mysql remoto... se qualcuno di voi potrebbe fornire o avere informazioni riguardanti la soluzione... per favore fatemelo sapere...

 

NS2-32.dll

Ciao ragazzi!

Ho un problema cercando di utilizzare questa libreria.

Le ho messe in metatrader\experts\library

Ho definito correttamente il percorso del file .def

... ma il mio EA stampa sul registro questo errore: -65495

Quale può essere il problema?

E, soprattutto, come risolverlo?

E' possibile che il file .def sia corrotto?

Grazie in anticipo...

 
veematics:
Ciao Patrick.

Se non mi sbaglio, tu lavori con IBFX un paio di anni fa... sei ancora con loro adesso? Raccogli ancora i tick?

Grazie per il tutorial....è quello che sto aspettando..

Ciao Veematics,

Mi dispiace non aver visto il tuo post fino ad ora :P

Sì, lavoravo con IBFX circa due anni e mezzo fa, faccio qualche consulenza con loro ogni tanto.

Non raccolgo più i tick, è troppo lavoro e non mi serve più

Patrick

 
fedecosta:
Ciao ragazzi!

Ho un problema nel cercare di usare questa libreria.

Li ho messi in metatrader\experts\library

Ho definito correttamente il percorso del file .def

... ma il mio EA stampa sul registro questo errore: -65495

Quale può essere il problema?

E, soprattutto, come risolverlo?

È possibile che il file .def sia corrotto?

Grazie in anticipo...

Non sono sicuro, quella libreria sembra familiare, la stai usando per connetterti a un sito web? Hai provato a usare wininet.lib invece?

Non credo che il problema qui sia il file def o la tua dll non verrebbe nemmeno caricata e funzionerebbe correttamente ... Se puoi fornire più informazioni (cioè qualche pezzo del codice che stai usando nella dll) allora forse posso provare ad aiutarti.

Patrick