Tutorial de un sencillo sistema de trading de soporte-resistencia para EA Wizard
En este artículo vamos a mostrarle cómo construir un sencillo sistema de trading semiautomático basado en niveles de soporte y resistencia (niveles S/R). El sistema tendrá las siguientes características:
Los precios para los niveles S/R serán definidos por el usuario mediante el uso de parámetros de entrada. Si no, el EA los colocará automáticamente en el gráfico por encima y por debajo del precio de mercado actual.
una vez que el mínimo de la última barra cruce por encima del nivel S y cierre por encima del precio de apertura de la barra, el EA abrirá una posición larga.
una vez que el máximo de la última barra cruza por debajo del nivel R definido y la barra cierra por debajo de su apertura el EA abrirá una posición corta
podrá limitar el número de operaciones abiertas por cada nivel de S/R, así como los tamaños de stop-loss y profit-target
el EA utilizará reglas fijas de gestión monetaria de % de la equidad de la cuenta
el EA también dibujará líneas correspondientes a los niveles S/R definidos para que pueda modificarlos fácilmente directamente en los gráficos
Configuración básica
Lo que tenemos que hacer primero es configurar el nombre de nuestro EA y las reglas de gestión de dinero. Aquí es cómo hacerlo:
Lo que más se hace en este paso es obvio, pero centrémonos en las variables por un momento. Vamos a ir a través de ellos mientras se explica el significado:
últimoApoyo - Este es el precio introducido para el nivel S. Se establecerá automáticamente al iniciar el EA y luego se puede modificar cambiando el parámetro o modificando la línea de soporte directamente en el gráfico. últimaResistencia - Este es el precio introducido para el nivel R. Se establecerá automáticamente al iniciar el EA y luego se puede modificar cambiando el parámetro o modificando la línea de resistencia directamente en el gráfico. tradesLongCounter - esta variable se utilizará para almacenar el número de operaciones largas realizadas con el último nivel de S/R establecido tradesShortCounter - esta variable se utilizará para almacenar el número de operaciones en corto realizadas con el último nivel de S/R establecido
NOTA: incorporamos estos "contadores de operaciones" para limitar el número máximo de operaciones ejecutadas por cada nivel definido. Necesitamos esto para evitar el exceso de operaciones mientras esperamos no más de 3 operaciones en cada nivel S o R establecido. También necesitamos reiniciar estos contadores una vez que modificamos el nivel S o R a un nuevo precio para que el EA pueda empezar de nuevo.
maxTradesPerSR - el número máximo de operaciones permitidas por cada nivel S/R PT, SL - son las distancias de las órdenes stop-loss y profit-target expresadas en número de pips
En cuanto a las reglas de gestión monetaria, no queremos arriesgar más de 3% de nuestra cuenta por cada operación con un tamaño máximo posible de 5 lotes.
También necesitamos asegurarnos de que las reglas globales de gestión monetaria funcionarán correctamente con nuestros tamaños de PT y SL definidos, así que cambiemos a la pestaña SL/PT:
Configuración de los niveles S/R
Una vez definidas todas las entradas necesarias, podemos pasar a la siguiente tarea: crear reglas y lógica para el propio EA.
Necesitamos que nuestro EA tenga precios S/R editables (como entradas), pero aún así necesitamos que el EA funcione de forma inteligente, es decir, que dibuje líneas horizontales incluso sin introducir ningún valor de precio específico una vez que cargamos nuestro EA. He aquí cómo hacerlo:
si LastSupport = 0 O lastResistance = 0 - en caso de que no establezcamos ningún precio específico en la carga del EA, dejemos que el EA lo establezca por sí mismo entonces:
Si no establece ningún precio específico para el nivel S o R en el momento de cargar el EA, el EA lo hará automáticamente colocándolos 100 pips por encima del máximo actual (para el nivel R) y 100 pips por debajo del mínimo actual (para el nivel S). Estamos utilizando el ConvertToRealPips(pips) para sumar y restar 100 pips de rango de precio (los pips deben ser convertidos a una diferencia de precio para este propósito).
Dibujar niveles S/R en un gráfico
Aquí es donde el verdadero poder de EA Wizard entra en juego. Si usted no tiene cierta función requerida disponible en EA Wizard puede simplemente añadirlo mediante el uso de código MQL4 personalizado.
Necesitamos añadir una condición que compruebe si alguna de esas líneas horizontales (R O S) ya están colocadas en el gráfico. Podemos utilizar una práctica función llamada ObjectFind("nombre del objeto") para ello (tenga en cuenta las comillas que hay que utilizar aquí). Si las líneas no existen en el gráfico (la función ObjectFind devuelve un número menor que cero) podemos dibujarlas en el siguiente paso.
FunciónPersonalizada: ObjectFind("resistencia1") < 0 OR FunciónPersonalizada: ObjectFind("soporte1") < 0
Para dibujar las líneas utilizamos la función CrearObjeto tal y como se define en la Manual de lenguaje MQL4 para crear nuevos objetos de línea horizontal.
La función requiere varios parámetros:
"soporte1", "resistencia1" son nombres que utilizamos para nuestras líneas ya que cada objeto en MetaTrader debe tener definido su propio nombre.
OBJ_HLINE define qué tipo de objeto queremos dibujar. En este caso necesitamos dibujar una línea horizontal
0 - El valor "cero" se refiere al índice de la ventana. 0 significa que el gráfico principal que queremos dibujar en
Tiempo[0] - estamos haciendo referencia al punto de dibujo en el último compás
últimoApoyo y últimaResistencia son los precios a los que queremos que se muestren nuestras líneas S/R
Tenga en cuenta también que utilizamos Entrar en el diario para poder monitorizar el comportamiento de EA durante su funcionamiento. Esta función es muy útil especialmente si usted necesita ver lo que sucede con ciertas variables valor
Actualización de los precios
Si modificamos el nivel S o el nivel R en el gráfico necesitamos que nuestro EA registre ese cambio. Para ello necesitamos leer los precios actuales de ambas líneas tanto si corresponden a últimoApoyo y últimaResistencia variables. Una vez que detectamos algún cambio necesitamos actualizar esas variables.
Recuerde, una vez que actualizamos los precios S/R también queremos reiniciar el contador de operaciones para que el EA pueda operar libremente el nuevo nivel de precios hasta el límite predefinido - maxTradesPerSR.
Para ello utilizamos otra función MQL4 - ObjectGet(). Esta función permite obtener información de una determinada propiedad del objeto como el precio por ejemplo. Esta función requiere el nombre del objeto y la constante de propiedad correcta que estamos intentando obtener (en este caso es el precio principal - PRECIO1).
Y hacemos lo mismo con nuestro nivel S:
Operar con niveles S/R: colocación de órdenes
Una vez que tengamos todo lo que necesitamos preparado, podemos empezar a definir las reglas de negociación para ambas direcciones.
Empecemos primero por la condición larga:
El mínimo[1] supera el último soporte - para una señal larga válida consideramos una situación cuando el precio bajo cruza por encima del nivel S definido La posición del mercado es plana - no hay ningún otro puesto ya abierto IsBarOpen es True - evaluar la condición sólo una vez por cada barra tradesLongCounter < maxTradesPerSR - negociar sólo si no se ha alcanzado el límite de negociación
Si la condición anterior es válida, podemos colocar una orden larga de mercado con el número mágico 1000. También tenemos que aumentar el valor del contador para operaciones largas en 1 (para contar la última operación larga). Esto se hace mediante el uso de la Asignar variable y el Adición funciones.
No se olvide de establecer PT y SL tamaño adecuado también con el tamaño del lote para cada comercio como se muestra en la captura de pantalla.
Ahora tenemos que hacer lo mismo para el lado corto:
La principal diferencia radica en la condición de cruce. Queremos ver una barra High[1] to Cross Below nuestro nivel R definido. Para el orden de mercado a corto plazo también tenemos que utilizar un otro número mágico (2000 en nuestro caso) porque en MetaTrader cada orden tiene un único número mágico asignado.
En este punto tenemos nuestro EA completo. El último paso aquí es exportar el código en un archivo EA y probar el EA en MetaTrader4 utilizando el backtester o el régimen simulado.
Una vez guardado el EA podemos iniciar el backtester de MT4 para verificar su funcionamiento.
¿Será capaz el Asistente de EA de utilizar un cierto número de velas en horas específicas (si se trata de un gráfico horario) para identificar los niveles de soporte y resistencia y abrir y cerrar operaciones basadas en estos niveles? Por ejemplo, en un gráfico horario, dibuje las líneas de resistencia y soporte basándose en el máximo más alto y el mínimo más bajo de las velas cerradas a las 3am, 4am y 5am.
krikri
25. 2. 2018 12:00 pm
Hola Tomas262,
muy buen trabajo, ¿dónde puedo encontrar el archivo sqw de este EA (sistema de comercio de resistencia de apoyo)?
Voy a compartir con ustedes una estrategia muy simple basada en un patrón de velas fuerte y fácil de notar. Lo llaman "Lucky Spike". Todo el mundo puede aprenderlo, usarlo y ganar dinero con él. Hay traders que se ganan la vida operando con este patrón. Echa un vistazo a este ebook que te estoy dando de forma gratuita:==> http://www.forexmystery.com?hgd4h84gdh
Voy a compartir con ustedes una estrategia muy simple basada en un patrón de velas fuerte y fácil de notar. Lo llaman "Lucky Spike". Todo el mundo puede aprenderlo, usarlo y ganar dinero con él. Hay traders que se ganan la vida operando con este patrón. Echa un vistazo a este ebook que te estoy dando de forma gratuita:==> http://www.forexmystery.com?hgd4h84gdh
Trading smart means making the most of your time and resources, especially when comparing your current trading results with historical data. That’s where Quant Analyzer steps in, offering a streamlined …
We’d like to announce the release of the new SX 139 Dev 1 version – note that this is a development version for testing, not the final 139 version. Most …
Dive into Algorithmic Trading Without the Coding Headache! Are you intrigued by algorithmic trading but dread the thought of coding? Today marks the beginning of our exciting series that’s about …
¿Será capaz el Asistente de EA de utilizar un cierto número de velas en horas específicas (si se trata de un gráfico horario) para identificar los niveles de soporte y resistencia y abrir y cerrar operaciones basadas en estos niveles? Por ejemplo, en un gráfico horario, dibuje las líneas de resistencia y soporte basándose en el máximo más alto y el mínimo más bajo de las velas cerradas a las 3am, 4am y 5am.
Hola Tomas262,
muy buen trabajo, ¿dónde puedo encontrar el archivo sqw de este EA (sistema de comercio de resistencia de apoyo)?
saludos
Christian
Gran artículo Tomas.
Voy a compartir con ustedes una estrategia muy simple basada en un patrón de velas fuerte y fácil de notar. Lo llaman "Lucky Spike". Todo el mundo puede aprenderlo, usarlo y ganar dinero con él. Hay traders que se ganan la vida operando con este patrón. Echa un vistazo a este ebook que te estoy dando de forma gratuita:==> http://www.forexmystery.com?hgd4h84gdh
Voy a compartir con ustedes una estrategia muy simple basada en un patrón de velas fuerte y fácil de notar. Lo llaman "Lucky Spike". Todo el mundo puede aprenderlo, usarlo y ganar dinero con él. Hay traders que se ganan la vida operando con este patrón. Echa un vistazo a este ebook que te estoy dando de forma gratuita:==> http://www.forexmystery.com?hgd4h84gdh