Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Gracias Roger09
Originalmente publicado por ForExTyro
Estoy intentando añadir código a un EA que restrinja el número de operaciones que hace por día a sólo dos(2). Sólo UNA operación larga y UNA corta por día. Este es el código que tengo hasta ahora, pero en una prueba posterior no está funcionando.
¿Me pueden ayudar?
Reemplazar
datetime LongTrade=0;
datetime ShortTrade=0;
a
static datetime LongTrade=0;
static datetime ShortTrade=0;¿Ya está?
¡Eso es todo!
GRACIAS Roger09
Hola,
Este es un buen ejemplo de cómo se ve descompilado EA & Ind.
b.
Ahí lo tienes, disfrútalo.
Hola Kalenzo,
Necesito tu ayuda de nuevo, ¿puedes codificar para mí una información adicional
información adicional como lo hiciste antes, me gustaría poner la información de la Barra LSMA.
Cuando la barra LSMA Woodie es verde, muestra la palabra LONG (color verde),
y cuando la barra de madera es roja, muestra la palabra corta (color rojo).
ver el pic. adjunto..
http://i98.photobucket.com/albums/l277/compobey/CCIinfo.jpg
Saludos,
compobey
Solicitud de ayuda
Hola a todos
He estado usando un sistema muy simple que hace alrededor de +100 pips por mes.
Me gustaría ponerlo en EA pero soy muy nuevo en la codificación y me siento tan perdido . Tal vez ustedes podrían ayudarme a crear este EA y todos podríamos usarlo.
Por favor, hágamelo saber si usted está interesado y voy a publicar los detalles de lo que la EA tiene que hacer.
Gracias
Kalenzo
Ahí lo tienes, disfrútalo.
Hola de nuevo Kalenzo,
He estado observando el indi que me has arreglado.
En general funciona bien, pero de vez en cuando sucede que pone el color equivocado en la línea.
Como se puede ver en la imagen, hay lugares donde debería ser Tomate o Rojo, pero resulta DodgerAzul en su lugar.
Las reglas eran;
Cuando el valor (al cierre de la barra) > que el cierre anterior de la barra (subiendo) =
DodgerBlue cuando el valor es < 0
Azul cuando el valor es > 0
Cuando el valor (al cierre de la barra < que el cierre anterior de la barra (bajando) =
Tomate cuando el valor es > 0
Rojo cuando el valor es < 0
He marcado con flechas rojas donde los errores precisos.
Puedes echar un vistazo al código, por favor.
He intentado explicarlo lo mejor que he podido, pero hazme saber si necesitas más información.
Gracias.
Hola de nuevo Kalenzo,
He estado observando el indi que me has arreglado.
Generalmente funciona bien, pero de vez en cuando sucede que pone el color equivocado en la línea.
Como se puede ver en la imagen, hay lugares donde debería ser Tomate o Rojo, pero resulta DodgerAzul en su lugar.
Las reglas eran;
Cuando el valor (al cierre de la barra) > que el cierre anterior de la barra (subiendo) =
DodgerBlue cuando el valor es < 0
Azul cuando el valor es > 0
Cuando el valor (al cierre de la barra < que el cierre anterior de la barra (bajando) =
Tomate cuando el valor es > 0
Rojo cuando el valor es < 0
He marcado con flechas rojas donde los errores precisos.
Puedes echar un vistazo al código, por favor.
He intentado explicarlo lo mejor que he podido, pero hazme saber si necesitas más información.
Gracias.Lo siento, he olvidado el archivo.
¿Cómo ir a una etiqueta de línea?
¿Cómo puedo ir a una etiqueta de línea en Metatrader 4
algo así como
if(a > b) goto fred
if(c > d) goto jim
:fred
haz algo más de código aquí
:jim
haz algo de código aquí
Tengo una respuesta, pero necesito un poco más de aclaración
Puedes escribir algo de código en functons en su lugar. Algo como esto
if(a > b) ReturnValue = fred();
if(c > d) ReturnValue = jim();
int fred()
{
haz algo más de código aquí
}
int jim()
{
haz algo de código aquí
}
¿qué es ReturnValue? no es una función, ¿cómo lo escribo?
En el ejemplo que has puesto 'ReturnValue' es sólo una variable. Podría haberse llamado de cualquier manera, pero quien te dio ese código utilizó 'ReturnValue'.
Para ser honesto ese formato no tiene mucho sentido a menos que tengas la intención de hacer algo con el valor que se devuelve de las dos funciones. No puedes usar el concepto de goto como en VB (o era Basic - ¡es tan antiguo que no lo recuerdo!).
Sólo algo como...
if(a>b)DoThisFunction();
if(a<b)DoAnotherFunction();
Entonces, lo que pretendías hacer cuando el programa hubiera saltado usando goto, lo harías en cambio en las dos funciones respectivas.
Espero que tenga algún sentido.
Saludos
Lux
En el ejemplo que has puesto 'ReturnValue' es sólo una variable. Podría haberse llamado de cualquier manera, pero quien te dio ese código utilizó 'ReturnValue'.
Para ser honesto, ese formato no tiene mucho sentido a menos que tengas la intención de hacer algo con el valor que se devuelve de las dos funciones. No puedes usar el concepto de goto como en VB (o era Basic - ¡es tan lejano que no lo recuerdo!).
Sólo algo como...
if(a>b)DoThisFunction();
if(a<b)DoAnotherFunction();
Entonces, lo que pretendías hacer cuando el programa hubiera saltado usando goto, lo harías en cambio en las dos funciones respectivas.
Espero que tenga algún sentido.
Saludos
LuxGracias por la respuesta, lo que estoy tratando de hacer es que el EA elija entre dos condiciones, pero que elija la que cambie primero.
Así que en tu ejemplo
if(a>b)DoThisFunction();
if(a<b)DoAnotherFunction();
necesita algo más que if do this, o if do that, porque la otra condición es si c & d han cambiado antes que a & b si es así haz esto e ignora a & b. Por eso estaba intentando ir a una línea porque no puedo conseguir que elija con if then else
porque en realidad tengo
if(a>b && c>d) // hacer una compra aquí
else
if(a>b && c<d) // hacer una compra cercana aquí
else
invertir la venta o cerrar la venta
pero si c & d han cambiado primero, antes que a & b, entonces ignora el código anterior y haz las pruebas anteriores en c & d en su lugar
Lo siento es tan claro como el barro
Trabajar con archivos CSV -- Me estoy volviendo loco
Hola,
Estoy escribiendo un EA que trabaja con archivos CSV.
Para las pruebas pongo mis archivos CSV en la siguiente carpeta:
/tester/files
Aquí está sólo una pequeña parte de mi EA:
int handle = 0;
int Long = 0;
handle=FileOpen("LongMarket.csv",FILE_CSV|FILE_READ,';');
if (handle > 0)
{
Long= FileReadNumber(handle);
FileClose(handle);
}
Print("LongMarket = ", Long);
Print("Long handle = ", handle);En mi EA leo los archivos CSV y luego escribo algunos enteros.
Ahora cuando hago mi prueba y leo en el diario los mensajes de "impresión", a menudo obtengo enteros viejos que ya no están escritos en los archivos CSV.
Por ejemplo:
Primero se escribe 3 y mi EA funciona y escribe el 0 en el archivo,
Sólo puedo ver el 3 en ese archivo CSV.
¡¡¡¡Cuando borro ese archivo CSV y pongo un nuevo archivo CSV con 3 en la carpeta "/tester/files", sólo puedo leer el 0 de la prueba antes de !!!! ¡¡¡Pero no puedo encontrar, donde el EA lee el 0!!!
¡¡¡¡¡Me estoy volviendo loco!!!!!
¡¡¡Espero que podáis entender mi pregunta y me deis un consejo!!!