Cree su propia extensión de MetaTrader (dll) - página 4

 

Aquí está la EXCEPCIÓN:

Se ha producido un error crítico

Hora : 2009.03.05 14:32

Programa : Terminal de Cliente

Versión : 4.00 (build: 220, 7 Nov 2008)

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

Procesadores : 2 x X86 (nivel 15)

Memoria : 4194303/4194303 kb

Excepción : C0000005

Dirección : 8B222B17

Tipo de acceso : lectura

Dirección de acceso : 8B222B17

Registros : 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

Rastro de pila : 004552FD 76672DEB 7613E3F3 779BCFED

: 779BD1FF 00000000 00000000 00000000

: 00000000 00000000 00000000 00000000

: 00000000 00000000 00000000 00000000

Módulos :

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

2 : 10000000 0001B000 c:\\\NWindows\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\phelp.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 de llamadas :

 

Grandes problemas con la DLL

Estoy teniendo algunos problemas importantes para conseguir que mi propia DLL funcione.

Por fin he conseguido que pueda llamar a la DLL desde un EA, y no me da el error 127. Desgraciadamente, cada vez me sale una excepción.

He adjuntado el proyecto completo, y los archivos de MT4.

Si alguno de los dioses de la programación pudiera echarle un vistazo, le estaría muy agradecido.

[NOTA: Compilado en Visual Studio C++ Express 2008 Edition, corriendo en Vista x64 Ultimate dual-core w/ 6GB RAM].

-Jason

Archivos adjuntos:
dll_test.zip  1421 kb
 

creación de archivo .dll con Dev-C++ Editor para Metatrader

Alguien tiene experiencia en crear un archivo .dll con Dev-C++ que pueda ser utilizado para Metatarder.

Cuando lo intento creo que el archivo .def no está bien incluido en el archivo .dll, y me da el error 127.

He encontrado un tutorial de como puedo crear un archivo .dll para Metatrader con Visual Studio, pero no con la versión gratuita, en la versión gratuita no hay posibilidad de crear MFC-Dll como en el tutorial que he visto.

Sería de gran ayuda para mucha gente creo que si en algún lugar es un tutorial de cómo crear archivos .dll con el editor libre de código abierto Dev-C ++ para su uso en Metatrader.

 

dev-C++ nombre mangling ...

Hola Tim,

Cuando se utiliza dev-c++ el archivo def se genera para usted automáticamente el problema es que usted termina con los nombres de las funciones que se parecen a esto :

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

Adjunto los archivos de ejemplo que hice para VS2008 pero esta vez usando dev-c++ ...

Espero que esto ayude

Archivos adjuntos:
 

Hola Mistigri

muchas gracias por tu buena ayuda.

El video en línea que he encontrado fue también su video.

He probado tu nuevo ejemplo para el editor dev-c++, funciona, gracias por tu ayuda para llegar hasta aquí.

Saludos

Tim

 

Hola Patrick.

si no me equivoco, trabajas con IBFX hace un par de años... ¿todavía estás con ellos? ¿todavía recoges los ticks?

Gracias por tutorial.... es el que estoy esperando..

 

Es interesante hacer código externo con DLL. por lo que sé hace más difícil la ingeniería inversa en lugar de los archivos ex4..

sin embargo, me gustaría tener trozos de códigos que se pueden utilizar para hacer la solicitud http o incluso conectar directamente a mysql remoto ... si alguno de ustedes podría proporcionar o tener información con respecto a la solución ... por favor hágamelo saber ...

 

NS2-32.dll

¡Hola chicos!

Tengo un problema al intentar utilizar esta biblioteca.

Los puse en metatrader\experts\library

He definido correctamente la ruta para el archivo .def

... pero mi EA imprimir en el registro de este error: -65495

¿Cuál puede ser el problema?

Y, sobre todo, ¿cómo resolverlo?

¿Es posible que el archivo .def pueda estar dañado?

Gracias de antemano...

 
veematics:
Hola Patrick.

si no me equivoco, trabajas con IBFX hace un par de años... ¿sigues con ellos ahora? ¿sigues recogiendo ticks?

Gracias por el tutorial.... es el que estoy esperando..

Hola Veematics,

Lo siento, no vi tu mensaje hasta ahora :P

Sí, solía trabajar con IBFX hace unos dos años y medio, hago algunas consultas con ellos de vez en cuando.

Ya no colecciono ticks, es demasiado trabajo y realmente ya no tengo uso para ello

Patrick

 
fedecosta:
¡Hola chicos!

Tengo un problema al intentar utilizar esta biblioteca.

Los pongo en metatrader\experts\library

Defino correctamente la ruta para el archivo .def

... pero mi EA imprime en el registro este error: -65495

¿Cuál puede ser el problema?

Y, sobre todo, ¿cómo resolverlo?

¿Es posible que el archivo .def puede ser corrupto?

Gracias de antemano...

No estoy seguro, esa librería me resulta familiar, ¿la usas para conectarte a una página web? ¿Has probado a usar wininet.lib en su lugar?

No creo que el problema aquí sea el archivo def o tu dll ni siquiera se cargaría y funcionaría correctamente ... Si puedes proporcionar más información ( es decir, alguna parte del código que estás utilizando en la dll ) entonces tal vez pueda tratar de ayudar.

Patrick