Señores programadores, ayúdenme a crear un simple EA

 

La implementación será bastante sencilla, ¡en un par de docenas de líneas! Estoy seguro de que no les llevará mucho tiempo a los programadores de MQL con experiencia, yo no lo soy, por desgracia. La base de la idea es el gráfico Renko, la cuestión no es de crearlo, supongamos que ya existe y pondremos el EA sobre él.


Parámetros de entrada:

extern int Step = 10; // tamaño de la barra renegociada, y paso para las órdenes pendientes en pips

extern double Lote = 0.01; // lote inicial

extern double Martin = 2.00; // Relación de martingala

int TP = Paso; // Toma de ganancias

int SL = Step; // stop loss


Qué debe hacer el Asesor Experto:


Primer oficio:


1) Si la barra i-1 es bajista, entonces

a) para comprar, orden pendiente con el precio (precio_abierto(i-1 barra)+paso) con stop, beneficio, lote en los parámetros de entrada

b) para vender - una orden pendiente con el precio (precio_cierre(i-1 barra)-paso) con un stop, beneficio, lote en los parámetros de entrada


1) si la barra i-1 es alcista, entonces

a) para comprar, una orden pendiente con el precio (precio_cierre(i-1 barra)+paso) con un stop, beneficio y lote en los parámetros de entrada

b) para vender - orden pendiente con el precio (precio_abierto(i-1 barra)-paso) con un stop, beneficio, lote en los parámetros de entrada



En cuanto una de las órdenes pendientes se dispara y, en consecuencia, se crea una nueva barra Renko con el tamaño de Step, la segunda se elimina automáticamente y se abren otras dos órdenes pendientes:

1) Si hubo una operación de compra, entonces

a) primero COMPRAR a (precio_cierre(ya nueva barra i-1-renko)+paso), es decir, al precio de toma de beneficios de la barra i-ésima con stop, beneficio, lote en los parámetros de entrada,

b) la segunda VENTA al precio_abierto (ya una nueva barra i-1-renko), es decir, precio de stop loss para la barra i-ésima con un stop, profit, en los parámetros de entrada, y Lot*Martin

2) Si la primera operación es Vender, entonces

a) la primera VENTA a (precio_cierre(ya nueva barra i-1-renko)-paso), es decir, al precio Take Profit de la barra i-ésima con Stop, Profit, Lot en los parámetros de entrada,

b) la segunda COMPRA al precio_abierto (ya una nueva barra renko i-1), es decir, al precio de stop-loss de la barra i-ésima con stop, profit, en los parámetros de entrada, y Lot*Martin.


Así, si se activa la variante 1a o 2a (es decir, la toma de beneficios), la segunda orden se elimina automáticamente y todo se repite en el mismo bucle, empezando por "tan pronto como uno de...".

Si se activa la opción 1b o 2b (es decir, se activa un stop loss), la segunda orden se elimina automáticamente y todo se repite en el mismo bucle, empezando por "tan pronto como uno de..." y el parámetro Martin se duplica cada vez hasta que se activa el take profit. Una vez que se activa la toma de beneficios, el parámetro Martin se establece de nuevo en función de los parámetros de entrada.


Espero haberme explicado bien. Muchas gracias de antemano.
 
Por cierto, aquí hay una buena pregunta - si el Renko es "no nativo" y en sí mismo creado en la forma de un EA (como la última versión en forexfactory), entonces ¿cómo puedo poner un EA en él que va a ganar en él? ))
 
sashasan >>:
кстати вот хороший вопрос - если ренко "не родной" и сам создан в виде советника (как последняя версия на forexfactory), то как поставить на него советник который будет по нему зарабатывать? ))

¿Y por qué no debería el EA operar en un gráfico independiente? Por cierto, todo esto se puede implementar sin el gráfico Renko, es sólo para la percepción visual. De todos modos, puede establecer colgantes teniendo en cuenta el parámetro Paso y el resultado de una operación anterior.

 
Stoic >>:

А почему бы советнику не торговать на автономном графике?! Кстати говоря, все это можно реализовать и без графика Ренко, он лишь для визуального восприятия. Устанавливать отложенники можно и так с учетом параметра Step и результата предыдущей сделки.

Sí, sí, eso es exactamente lo que intenté implementar hace tiempo, pero no funcionó... Por cierto, ni siquiera necesitas un gráfico independiente, puedes dibujar cuadrados encima de las velas y hacer todos los cálculos en base a ellos

 
sashasan >>:

да-да, вот именно это я как-то давно пытался реализовать, но так толком и не получилось...

Llevo meses siguiendo los gráficos renko como idea visual. He estado negociando con bolígrafos, pero es, perdón por la expresión, una "masturbación" que me está matando. Por eso necesito un robot, y esta idea es muy buena. Con el lote inicial de 0,01, el tamaño de un barrenco de 10 pips y el depósito inicial de unos 10 000 USD, el saldo de la cuenta se vería muy bien.

 

Y ya tengo un asesor que opera con un sistema similar,

En enero, el porcentaje era del 67%.

 
Yo tenía 215% en enero, tu configuración debe ser mala)
 
satop >>:

А у меня уже советник торгует по подобной системе,

за январь показал 67%.

¡Satop, hola, por favor! ¡Al menos no te estás envenenando el alma! :) No te pido que pongas el tuyo, que ayudes a crear un EA tan sencillo, eres una persona conocida en ciertos círculos, incluso como programador.

 
qwerewq >>:
а у меня 215% было за январь, наверно настройки у вас плохие)

Bueno... ¡Aquí vamos!

 

Renko bueno por el hecho de que incluso en el marco de tiempo más pequeño puede suavizar seriamente el ruido de comercio, y la noticia por sí sola puede hacer un muy buen beneficio.

En cuanto al sistema en sí - no está muy claro lo que significa price_close(i-1 bar), si hay una i entonces resulta que el ciclo se calcula utilizando las barras pasadas, ya formadas

 

sashasan писал(а) >>

No está muy claro qué significa price_close(i-1 bar), si hay i entonces resulta que estamos calculando un ciclo utilizando barras ya formadas

No es price_close(i-1 bar) sino más/menos el paso, es decir, el tamaño de la barra Renko. La barra i-ésima no se ha completado todavía, y debido a las características del gráfico Renko, el precio de apertura está flotando hasta el momento de la formación final de la barra i-ésima; por lo tanto, sugerimos calcular desde la barra i-1. Todo debería estar claro aquí.
Razón de la queja: