¡Pide!

 

Hola amigos,

Tengo un montón de mensajes privados pidiéndome ayuda con algunas piezas de código.

Aquí podéis publicar vuestras preguntas relacionadas con MQL4, y haré lo posible por responderlas.

 

Alertas (por sonidos o cualquiera)

Tengo dos preguntas.

La primera. A veces es necesario probar alguna estrategia de trading manualmente antes de crear el EA. Está bien para M1, M5 y M15. Pero para H1 y marcos de tiempo superiores es difícil. ¿Qué parte del código debe incluirse en un indicador (cualquiera) para la alarma (sonidos o lo que sea) para indicar acerca de dos líneas de un indicador de cruce? Por ejemplo, el indicador está teniendo dos líneas sólo que se supone que se cruzó (con alarma).

Segundo. Tenemos dos indicadores. ¿Qué partes del código deben incluirse en uno o dos indicadores para indicar el cruce de dos líneas: una línea es del primer indicador y otra línea es del otro (todas esas dos líneas están en la misma ventana, por supuesto)?

Si es EA o script debe ser creado así que mantenga esta pregunta hasta que estudiemos la creación de EA y script.

 

¡Alerta en cruz!

newdigital:
Tengo dos preguntas.

La primera. A veces es necesario probar algunos srateg de comercio manualmente antes de crear el EA. Está bien para M1, M5 y M15. Pero para H1 y un marco de tiempo más alto es difícil. ¿Qué parte del código debe incluirse en un indicador (cualquiera) para la alarma (sonidos o lo que sea) para indicar acerca de dos líneas de un indicador de cruce? Por ejemplo, el indicador está teniendo dos líneas sólo que se supone que se cruzó (con alarma).

Segundo. Tenemos dos indicadores. ¿Qué partes del código deberían incluirse en uno o dos indicadores para indicar el cruce de dos líneas: una línea es del primer indicador y otra línea es del otro (todas esas dos líneas están en la misma ventana, por supuesto)?

Si se trata de EA o script debe ser creado por lo que mantener esta pregunta hasta que vamos a estudiar EA y la creación de la secuencia de comandos.

La segunda pregunta necesita algo de trabajo (la idea clave es trabajar con GlobalVariables para hacer que ambos indicadores se conozcan entre sí).

Trabajaré en ella más tarde.

Este es el código de la primera pregunta. Necesita algunas pruebas (son las 6:40 AM aquí )

//+------------------------------------------------------------------+

//| Demo1.mq4 |

//| Coders' Guru. |

//| https://www.forex-tsd.com |

//+------------------------------------------------------------------+

#property copyright "Coders Guru"

#property link "https://www.forex-tsd.com"

#property indicator_chart_window

#property indicator_buffers 2

#property indicator_color1 Red

#property indicator_color2 Blue

//---- buffers

double ExtMapBuffer1[];

double ExtMapBuffer2[];

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

int init()

{

//---- indicators

SetIndexStyle(0,DRAW_LINE);

SetIndexBuffer(0,ExtMapBuffer1);

SetIndexStyle(1,DRAW_LINE);

SetIndexBuffer(1,ExtMapBuffer2);

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custor indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----

//----

return(0);

}

bool Crossed (double line1 , double line2 )

{

static string last_direction = "";

string current_dirction = "";

if(line1>line2)current_dirction = "up";

if(line1<=line2)current_dirction = "down";

if(current_dirction != last_direction)

{

Alert("CRROSED: Line1 is (" + current_dirction + ") Line2 now");

last_direction = current_dirction;

return (true);

}

else

{

return (false);

}

}

int start()

{

int counted_bars=IndicatorCounted();

//---- check for possible errors

if (counted_bars<0) return(-1);

//---- last counted bar will be recounted

if (counted_bars>0) counted_bars--;

int pos=Bars-counted_bars;

while(pos>=0)

{

ExtMapBuffer1[pos]= iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,pos);

ExtMapBuffer2[pos]= iMA(NULL,0,20,0,MODE_EMA,PRICE_CLOSE,pos);

pos--;

}

Print(Crossed (ExtMapBuffer1[0],ExtMapBuffer2[0]));

//----

return(0);

}

//+------------------------------------------------------------------+
 

pregunta

Estimado codersguru,

Tengo un par de sistemas que necesito ayuda para traducir de Tradestation a Meta y luego un sistema de comercio básico. Estoy trabajando desde cero. ¿Cuál es su tarifa por hora para ayudar con este servicio?

Algunos de los sistemas se publican y 2 de los sistemas que he comprado y firmado un acuerdo de confidencialidad para que pueda publicar y tendría que tener que trabajar en esos en privado por una tarifa. ¿Cuáles son sus honorarios?

Muchas gracias,

Rick

 

Todavía no. No he probado todavía.

Mañana voy a insertar este código a algún indicador (cualquiera con dos líneas de cruce).

 

CrossedAlerts

newdigital:
Tengo dos preguntas.

La primera. A veces es necesario probar algunas estrategias de trading manualmente antes de crear el EA. Está bien para M1, M5 y M15. Pero para H1 y un marco de tiempo superior es difícil. ¿Qué parte del código debe incluirse en un indicador (cualquiera) para la alarma (sonidos o lo que sea) para indicar acerca de dos líneas de un indicador de cruce? Por ejemplo el indicador tiene dos líneas solamente que se supone que se cruzan (con alarma).

La segunda...

Hola newdigital,

¿has probado el código? ¿es lo que quieres?

Archivos adjuntos:
 

Lección de backtesting

Hola,

¿podría explicar cómo trabajar con el backtesting?

¿que hay que hacer para preparar nuestro EA para el backtesting?

¿Cómo funciona el backtesting (cada tick, precio de apertura...)?

Gracias.

 
codersguru:
Hola newdigital, ¿has probado el código? ¿es lo que quieres?

Lo he probado. Es genial.

Podemos usarlo como muestra.

O si necesitamos solo un sonido podemos usar el código adjunto.

Archivos adjuntos:
 

O si sólo necesitamos un sonido (opcional) y un texto escrito en el gráfico (opcional también) podemos utilizar este código (adjunto).

Archivos adjuntos:
 

¡Perfecto!

newdigital:
O si necesitamos sólo un sonido (opcional) y un texto escrito en el gráfico (opcional también) podemos usar este código (adjunto).

newdigital,

¡ustedes son lo máximo!

Gracias

 

Hice EAs muy pequeños para la alerta de cruce de RSTL y Supertrend.

El primero trabaja en la barra actual.

El segundo trabaja en la barra opcional (actual, anterior o cualquiera).

Sólo alertas.

Lo siento por la mala codificación: no hemos estudiado los EAs todavía.

Y puede ser que hice algún error ...

pero he probado y funciona.

Archivos adjuntos:
cross.mq4  3 kb
cross1.mq4  3 kb
rstl.mq4  4 kb