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

 

¿Te refieres a cuando se calcula un indicador?

Entonces sí, por ejemplo escribí mi propia función ATR en una dll y lo que ocurre es que mi DLL ATR utiliza el suavizado de wilder mientras que MT4 sólo utiliza una media simple ... Lo mismo con cualquiera de los indicadores escritos por wilders y otros indicadores que parecen tener múltiples versiones ...

Primero me aseguraría de que tus indicadores dan los mismos resultados que la plataforma MT4 desde la DLL ...

Patrick

 

DLLs e Indicadores

¿Alguien tiene algún tipo o las mejores prácticas generales para el uso de una dll en un indicador (cómo obtener el rango de precios a la dll, etc)? Quiero tener una dll calcular los valores en lugar de utilizar las funciones en MetaTrader.

¡Gracias!

 

¡Página no encontrada!

mistigriFX.com ya no se encuentra. ¿Cuál podría ser la razón?

 

¿Cómo hacer que funcionen?

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

¿como probamos esos archivos?? ¿que debemos hacer? Por lo que sé, las aplicaciones host para Dev C++ son sólo exe. ¿Cómo podemos utilizar el ex4?

 
xarlotie:
¿Cómo podemos probar esos archivos? ¿Qué debemos hacer? Por lo que sé, las aplicaciones host para Dev C++ son sólo exe. ¿Cómo podemos usar el ex4?

oh! ¡qué pregunta tan estúpida! lo siento... me he dado cuenta de la respuesta... simplemente ignora este post... gracias!

 
codersguru:
Cualquier persona interesada en crear su propia extensión MetaTrader (dll) puede ir a:

Crear su propia extensión MetaTrader (dll) - Parte 1

Crea tu propia extensión MetaTrader (dll) - Parte 2

¡Habrá otra parte (o 2) que las estoy escribiendo!

Espero que lo disfruten.

Muchas gracias por

el artículo.

 
codersguru:
Cualquier persona interesada en crear su propia extensión MetaTrader (dll) puede ir a:

Crear su propia extensión MetaTrader (dll) - Parte 1

Cree su propia extensión MetaTrader (dll) - Parte 2

¡Habrá otra parte (o 2) que las estoy escribiendo!

¡Espero que los disfruten!

He intentado seguir los pasos:

Figura 2 - Diálogo de nuevo proyecto

3- Desde este diálogo elige "MFC AppWizard (dll)" y escribe un nombre para el proyecto en el campo "Project Name" (Figura 3) y haz clic en "OK".

Sin embargo, no existe la opción "MFC AppWizard (dll)".

Estoy usando C++ 2008 express de MS

¿Qué estoy haciendo mal?

 

Hola, ¿nadie me ayuda?

¿Alguien puede hacer un tutorial para C++2008, por favor?

sub00:
He intentado seguir los pasos:

Figura 2 - Diálogo de nuevo proyecto

3- Desde este diálogo elija "MFC AppWizard (dll)" y escriba un nombre para el proyecto en el campo "Project Name" (Figura 3) y haga clic en "OK".

Sin embargo, no existe la opción "MFC AppWizard (dll)".

Estoy usando C++ 2008 express de MS

¿Qué estoy haciendo mal?
 
Mistigri:
Acabo de terminar un video sobre cómo escribir una DLL para MT4 ... Intenté hacer un ejemplo que devuelva un array ya que es realmente lo que pensé que faltaba cuando empecé a mirar en la muestra proporcionada por MetaQuotes.

Ver vídeo

Si sólo te interesa el código y el proyecto de VS, puedes descargarlos aquí.

Espero que os guste

Patrick

¡Impresionante video, justo lo que estaba buscando!

Mucho respeto.

 

He descargado y compilado el proyecto de mistigri con VS++2008

Las dos primeras funciones funcionan bien, pero la segunda bloquea el terminal como en este artículo:

Como usar Crashlogs para depurar tus propias DLLs - MQL4 Articles

Tengo una excepción C0000005 lanzado ...

Exception : C0000005

Address : 77C36FA3

Access Type : read

Hasta ahora no he descubierto lo que está mal. Algo que tiene que ver con la forma en que la matriz OutPut[] se pasa a la DLL. ¡Cualquier aportación sería apreciada!