Entradas Populares

La Elección Del Editor - 2020

MQL4: Escribir un asesor para el comercio de patrones dados

Hola a todos!

Seguramente muchos de ustedes a menudo notaron que periódicamente los gráficos de un par de divisas en particular repiten sus movimientos. De hecho, en la mayoría de los casos, esto es solo un fenómeno temporal, que no funcionará para ganar suficiente dinero. Pero, ¿qué pasa si hay movimientos y patrones de precios tan confiables que no conocemos? Hoy escribiremos un asesor bastante simple que nos ayudará con la investigación de mercado.

¿Qué escribiremos?

Cualquier investigación siempre se basa en una hipótesis específica. Primero, lo presentamos, y luego lo probamos o refutamos.

Hoy escribiremos un asesor simple que trabajará en gráficos diarios. La base para la formación de la entrada será un patrón de vela vinculado al día de la semana. Nuestra hipótesis es esta: si vemos una vela bajista, y luego alcista, digamos, el miércoles, entonces el jueves la vela también será alcista. Si vemos una vela alcista, y luego una vela bajista, el día siguiente se cerrará aún más bajo. Ilustraré esto en la imagen:

Como puede ver, el patrón es muy simple y es poco probable que realmente funcione. Sin embargo, tales anomalías existen en el mercado, en el que puede ganar fácilmente dinero pequeño, pero real, de año en año.

El diseño de nuestro asesor.

El asesor será muy simple. Verificará el día actual de la semana con los días en que se permite el comercio. Luego verifica si hay órdenes abiertas. Después de eso, se verificará si el patrón especificado está presente y, si se detecta, se abrirá un acuerdo. La posición se cerrará al día siguiente.

Por lo tanto, dividiremos el cuerpo del asesor en varias partes. La primera parte es el filtro del día de la semana:

bool TimeFilter () {

if (! MondayTrade && DayOfWeek () == 1) return (false);

if (! TuesdayTrade && DayOfWeek () == 2) return (false);

if (! WednesdayTrade && DayOfWeek () == 3) return (false);

if (! ThursdayTrade && DayOfWeek () == 4) return (false);

if (! FridayTrade && DayOfWeek () == 5) return (false);

retorno (verdadero);

}

Volverá falso si el día actual de la semana está prohibido en la configuración. El segundo bloque genera una señal:

int Signal () {

if (! TimeFilter ()) devuelve -5;

doble Cerrar1 = iClose (_Symbol, signal_period, 1);

doble Open1 = iOpen (_Symbol, signal_period, 1);

doble Cerrar2 = iClose (_Symbol, signal_period, 2);

doble Open2 = iOpen (_Symbol, signal_period, 2);

if (Cerrar2> Abrir2 && Cerrar1 <Abrir1) {

devuelve OP_SELL;

}

if (Cerrar2 Abrir1) {

volver OP_BUY;

}

retorno -5;

}

Como puede ver, solo estamos buscando el patrón que necesitamos. Y puede reescribir este método para buscar cualquier patrón.

Todo lo que queda es escribir un método para abrir y cerrar una posición. Y el método indica que la posición actual ya está abierta 1 barra, y es hora de cerrarla:

bool ExitTime (int dir) {

for (int i = OrdersTotal (); i> = 0; i-) {

if (! OrderSelect (i, SELECT_BY_POS, MODE_TRADES)) {

continuar

}

if (OrderSymbol ()! = Symbol () || OrderMagicNumber ()! = magic) {

continuar

}

if (TimeCurrent () - OrderOpenTime ()> 60 * exit_bars * exit_period) {

retorno (verdadero);

}

}

retorno (falso);

}

Eso, de hecho, es todo. Puede ver el código completo del asesor en el video tutorial.

Resultados

Como ya dije, el asesor, como el patrón en sí, es muy simple. Pero en los mercados, "simple" - no siempre significa malo y no rentable. Incluso estas cosas simples, para nuestra sorpresa, pueden llegar a ser trabajadores, para lo cual me gusta este mercado. Este es un mercado de contrastes impresionantes. Mientras que los comerciantes manuales operan a ciegas en general, sin ninguna confirmación de la importancia estadística de sus sistemas, los recién llegados invierten el último dinero en redes y martins, los comerciantes algorítmicos inventan revendedores más sofisticados con el número de líneas de código que dan probabilidades a "Guerra y paz", a veces Las cosas simples pero rentables yacen en la superficie, pero nadie las ve. Hay algo de ironía muy sofisticada en esto, ¿no?

Los resultados no brillan, por supuesto, pero el patrón se tomó al azar, y es extremadamente simple. Estoy seguro de que si lo corrige un poco, puede lograr mejores resultados.

Conclusión

La idea de un patrón con dos velas de colores opuestos y listo para continuar el movimiento es un ejemplo muy simple. Esto no tiene en cuenta ni la forma, ni la volatilidad, ni la relación entre el tamaño de las sombras y el tamaño del cuerpo de la vela. Puede crear sus propios patrones y probarlos; como sabe, tal vez encontrará oportunidades realmente valiosas y muy rentables.

Mira el video: 1 - MQL4 desde CERO Español - Metatrader4 (Enero 2020).

Deja Tu Comentario