Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 353

 
Pyro:
Por favor, aconséjeme sobre esto. Alpari está aumentando el spread en el fin de semana hasta el punto de que el EA siempre está perdiendo. BIEN. Puedo establecer el spread manualmente en el Probador de Estrategias. ¿Pero en qué unidades? 100, 50, 30, 10 - ¿qué es? Porcentaje, puntos, ¿qué? Se lo agradezco de antemano.

En el probador, la dispersión es en puntos. Los concesionarios suelen tener un diferencial flotante. Y el viernes a las 23:00 suele subir a valores increíbles. Es mejor no negociar durante este tiempo.
 

Hola a todos.

No me gusta la programación desde la universidad, pero llegó el momento en que necesitaba un bot para operar en la bolsa (entiendo que EA y bot son lo mismo...).

El bot debe cerrar la posición cuando se cruzan los muwings (el rápido se cruza con el lento).

Encontré un par de códigos en kodobase. Pero:

1. no está claro dónde establecer el marco de tiempo en el código del Asesor Experto?

2. Algunos EAs tienen 2 archivos: uno con extensión mq4, el otro con extensión mqh. ¿Por qué necesitamos un archivo mqh?

3. ¿Cómo configurar un Asesor Experto en mt4? ¿Es suficiente con añadir un Asesor Experto en la carpeta "expertos" y activarlo? ¿O qué más hay que hacer para que funcione? En general, agradecería que se explicara con detalle el proceso de instalación de EA en un programa de trading.

No soy demasiado despistado en C ++. Necesito un EA, sólo tengo que cambiar el marco de tiempo y muwings.

Opero en la bolsa de criptomonedas btc-e. Para aquellos que ayuden (y sólo buena gente), puedo ayudar y responder a las preguntas sobre este intercambio y la moneda BitCoin. Contacta conmigo en persona o por skype okidoki543

 

Creo que he encontrado lo que necesito:

https://www.mql5.com/ru/code/8463?source=terminal4_codebase

Voy a finalizarlo y probarlo en lotes pequeños. Pero gracias a todos los que opinan sobre mi pregunta aquí. Todavía no sé si todo me saldrá bien. Tengo una fuerte aversión a la programación. )

 

Compañeros, he eliminado la siguiente línea en el código (ver enlace anterior): //============================================================================================
int CrossPositionOpen()
{
PosOpen=0; // ¡¡¡Aquí es donde se entierra el perro!!:)
if ((MA1_1<=MA2_0 && MA1_0>MA2_0) | (MA1_1<MA2_0 && MA1_0>=MA2_0)) // Cruce de abajo a arriba
{
PosOpen=1;
}
if ((MA1_1>=MA2_0 && MA1_0<MA2_0) || (MA1_1>MA2_0 && MA1_0<=MA2_0)) // Intersección descendente
{
PosOpen=2;
}
return(PosOpen); // Devuelve la dirección de la intersección.
}

Por lo que entendí con mi débil mente, esta sección del código es responsable de abrir posiciones en el cruce de MA. No lo necesito porque el EA sólo es necesario (al menos, por ahora) para cerrar posiciones.

¿Podría aconsejarme, si entiendo correctamente, que este EA sólo cerrará las posiciones que ya están abiertas cuando la MA se cruza (por ejemplo, cruzó desde la parte superior hacia abajo - cerró la posición larga)?

¿Estoy pensando correctamente, MA1_Price es el precio utilizado para calcular la MA y si pongo "4" allí, será el precio de cierre?

¿Estoy siguiendo correctamente - extern double - este es el número de lotes para los que se abrirá la posición. Después de todo, quiero que mi posición abierta por cualquier número de lotes sea cerrada por este código. ¿Puede indicar cómo configurar esto en el código? ¿O este código cerrará la posición con cualquier lote sin ninguna configuración?

Cuento con algo de ayuda.

 
okidoki543:

Compañeros, he eliminado la línea en el código (ver enlace anterior): //============================================================================================
int CrossPositionOpen()
{
PosOpen=0; // ¡Aquí es donde se entierra el perro!:)
if ((MA1_1<=MA2_0 && MA1_0>MA2_0) || (MA1_1<MA2_0 && MA1_0>=MA2_0)) // Cruce de abajo a arriba
{
PosOpen=1;
}
if ((MA1_1>=MA2_0 && MA1_0<MA2_0) || (MA1_1>MA2_0 && MA1_0<=MA2_0)) // Intersección descendente
{
PosOpen=2;
}
return(PosOpen); // devuelve la dirección de la intersección.
}

Por lo que he podido entender con mi débil mente, esta sección del código se encarga de abrir posiciones cuando se cruza la MA. No lo necesito, porque necesito el EA (al menos por ahora) sólo para cerrar posiciones.

¿Podría aconsejarme, si entiendo correctamente, que este EA sólo cerrará las posiciones que ya están abiertas cuando la MA se cruza (por ejemplo, cruzó desde arriba hacia abajo - cerró la posición larga)?

¿Estoy pensando correctamente, MA1_Price es el precio utilizado para calcular la MA y si pongo "4" allí, será el precio de cierre?

¿Estoy siguiendo correctamente - extern double - este es el número de lotes para los que se abrirá la posición. Después de todo, quiero que mi posición abierta por cualquier número de lotes sea cerrada por este código. ¿Podría indicar cómo configurar esto en el código? ¿O este código cerrará la posición con cualquier lote sin ninguna configuración?

Confío en su ayuda.


Sí, he eliminado la línea con los comentarios))))) Realmente malo en la programación))))

Si no necesita abrir órdenes, comente las siguientes líneas:

// OpenBuy();

и

// OpenSell();

MA1_Price es efectivamente un tipo de precio, pero 4 es el precio medio. Y esto es sólo para la primera máscara; también existe MA2_Price. Para conocer las constantes de precios, consulte aquí

El EA no tiene ninguna comprobación para Magik y el símbolo. Cerrará todas ellas una por una.

Y después de hacer cambios en el texto del EA, no olvides recompilarlo.

Los lotes en su caso no son necesarios, no les preste atención.

 
Sí, el EA funcionará en el marco de tiempo y el instrumento al que lo adjunte. El autor parece aconsejar sobre M15...
 
Ah, y no te precipites al mundo real con este EA. No tiene manejo de errores, todavía hay que llevarlo al mundo real. Para empezar, ejecútalo en el probador.
 
Sepulca:


Sí, he eliminado la línea con los comentarios))))) Realmente malo en la programación))))


Parece que te equivocas. Там после строки //============================================================================================

Los comandos estaban en azul, así que no era un comentario.

Sepulca:

Y después de hacer cambios en el texto de EA, no olvides recompilarlo.

¿Cómo lo hago?
Sepulca:
Sí! Y no te apresures a operar de verdad con este EA. No tiene manejo de errores, tienes que llevarlo a una cuenta real. Pruébalo primero en el probador.

Sí, creo que primero lo probaré en demo durante una semana.

Muchas gracias por su ayuda. Espero más ayuda. ;)

 

También he retocado el código, eliminando todo lo innecesario.

Ya he entendido como compilarlo, he subido el Expert Advisor al gráfico de minutos de la demo, lo probaré y en unos 20 minutos sabré si funciona o no.

Si algo va mal, haré más preguntas.

 

Preguntas:

Si cambio el marco temporal del gráfico, ¿se perderán todos los ajustes del EA? Es decir, ¿puedo cambiar el marco temporal en el gráfico donde está instalado el EA?

He cerrado los gráficos en la cuenta real en la que he instalado el EA (no he averiguado cómo eliminar los EAs de otra manera). ¿Se han borrado los EAs o no?

¿Funciona el EA cuando no estoy conectado a MT4 a través de Internet?