[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 40

 

Cuestiones teóricas:

1. ¿Cómo escribir una función (dónde leer sobre ello)?

2. ¿Con qué extensión se debe compilar y guardar?

3. ¿En qué carpeta lo guardo?

4. ¿Necesito escribir un script separado para ejecutarlo (o el Asesor Experto se ejecutará por sí mismo)?

Muchas gracias a los que no han pasado mi pregunta))

 

Hola, el indicador no dibuja nuevos valores, sólo cuando lo pongo de nuevo en el gráfico, actualiza los valores.

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 White
#property indicator_color2 White

//---- input parameters

extern int CountBars=3500;

//---- buffers
double val1[];
double val2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- indicator line
   IndicatorBuffers(2);
   SetIndexStyle(0,DRAW_ARROW);
   SetIndexArrow(0,217);
   SetIndexBuffer(0, val1);
   SetIndexEmptyValue(0,0.0);
   SetIndexStyle(1,DRAW_ARROW);
   SetIndexArrow(1,218);
   SetIndexBuffer(1, val2);
   SetIndexEmptyValue(1,0.0);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| AltrTrend_Signal_v2_2                                            |
//+------------------------------------------------------------------+
int start()
  { double F_u_EUR, F_u_GBP, F_d_EUR, F_d_GBP, F_u_USD, F_d_USD;
   int limit;
   int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
   if( counted_bars>0) counted_bars--;
   limit=Bars- counted_bars;
   for(int i=3; i< limit; i++)
{ 

	F_u_EUR=iFractals("EURJPY",15,MODE_UPPER, i);
	F_d_EUR=iFractals("EURJPY",15,MODE_LOWER, i);
	F_u_GBP=iFractals("GBPJPY",15,MODE_UPPER, i);
	F_d_GBP=iFractals("GBPJPY",15,MODE_LOWER, i);
	F_u_USD=iFractals("USDJPY",15,MODE_UPPER, i);
	F_d_USD=iFractals("USDJPY",15,MODE_LOWER, i);

if ( F_u_EUR> F_d_EUR&& F_u_GBP> F_d_GBP&& F_u_USD> F_d_USD)
{
	val1[ i]=High[ i]+35*Point;
}
if ( F_u_EUR< F_d_EUR&& F_u_GBP< F_d_GBP&& F_u_USD< F_d_USD) 
{
	val2[ i]=Low[ i]-35*Point;
}


}
   return(0);
  }

¡Si puedes arreglar el código!

Gracias

 
Kostay писал(а) >>

Hola, el indicador no dibuja nuevos valores, sólo cuando lo pongo de nuevo en el gráfico, actualiza los valores.

¡Si puedes arreglar el código!

Gracias

int start()
  { double F_u_EUR, F_u_GBP, F_d_EUR, F_d_GBP, F_u_USD, F_d_USD;
   int limit;
   int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
   if( counted_bars>0) counted_bars--;
   limit=Bars- counted_bars;
   if ( limit<3) limit+=3;
   for(int i=3; i< limit; i++)
{ 

F_u_EUR=iFractals("EURJPY",15,MODE_UPPER, i);
F_d_EUR=iFractals("EURJPY",15,MODE_LOWER, i);
F_u_GBP=iFractals("GBPJPY",15,MODE_UPPER, i);
F_d_GBP=iFractals("GBPJPY",15,MODE_LOWER, i);
F_u_USD=iFractals("USDJPY",15,MODE_UPPER, i);
F_d_USD=iFractals("USDJPY",15,MODE_LOWER, i);

if ( F_u_EUR> F_d_EUR&& F_u_GBP> F_d_GBP&& F_u_USD> F_d_USD)
{
val1[ i]=High[ i]+35*Point;
}
if ( F_u_EUR< F_d_EUR&& F_u_GBP< F_d_GBP&& F_u_USD< F_d_USD) 
{
val2[ i]=Low[ i]-35*Point;
}


}
   return(0);
  }
 

Vinin gracias por la ayuda. ¡¡¡¡Arreglado el indicador puesto en visualización pero sigue sin dibujar nuevos valores!!!!

No entiendo nada.

 
Kostay писал(а) >>

Vinin gracias por la ayuda. ¡¡¡¡Arreglado el indicador puesto en visualización pero sigue sin dibujar nuevos valores!!!!

No entiendo nada.

Supongo que el número de barras actualizadas es siempre inferior a tres y la condición del bucle nunca se satisface

for(int i=3; i< límite; i++)
porque las nuevas barras llegan de una en una. Tal vez algo como

for(int i=3; i< limit+3; i++)

 
Kostay писал(а) >>

Vinin gracias por la ayuda. ¡¡¡¡Arreglado el indicador puesto en visualización pero sigue sin dibujar nuevos valores!!!!

No entiendo nada.

Se supone que el indicador multidivisa no funciona en la visualización. Toma datos de otros marcos temporales del gráfico actual. Para este tipo de trabajo hay que hacer una sincronización horaria.

 
Vinin >> :

Esta no es la forma en que la herramienta multidivisa debe funcionar en la visualización. Toma los datos de otros marcos temporales del gráfico actual. Para este tipo de trabajo hay que sincronizar el tiempo.

Ahora lo entiendo. Muchas gracias!!!!!!!!!!!!

 

¡Hola!

¿Es posible cambiar la configuración de MT4 con un EA, por ejemplo, el tamaño del lote?

Si la respuesta es afirmativa, por favor, indíquelo.

 
vikon >> :

¡Hola!

¿Es posible cambiar la configuración de MT4 con un EA, por ejemplo, el tamaño del lote?

Si la respuesta es afirmativa, aconséjelo.

El tamaño del lote no es relevante para la configuración de MT4. :) Se especifica como parámetro de la función OrderSend al enviar una solicitud de apertura de una orden.

 
Everlost >> :

El tamaño del lote no está relacionado con la configuración de MT4. :) Se especifica como parámetro de la función OrderSend al enviar una solicitud de apertura de una orden.

Sé sobre la apertura de un pedido usando un código.

Necesito crear un sistema semiautomático con propiedades de gestión.

Abro una posición manualmente, pero el tamaño del lote es monitoreado por el Asesor Experto y lo cambia por defecto en MT (servicio/configuración/comercio/volumen por defecto)

¿Es posible hacerlo?