Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1517

 

Hola a todos. Chicos, ayudadme a combinar 2 indicadores. Lleva 3 días sentado y nada funciona.

El primer indicador muestra la tendencia y el segundo me da una alerta y me muestra el punto de entrada con una flecha. Necesito hacer que el segundo indicador emita señales sólo para la tendencia.

Estoy intentando que sean un indicador, o que me digan qué he hecho mal.

Archivos adjuntos:
 
jarikn:

Hola a todos. Chicos, ayudadme a combinar 2 indicadores. Lleva 3 días sentado y nada funciona.

El primer indicador muestra la tendencia y el segundo me da una alerta y me muestra el punto de entrada con una flecha. Necesito hacer que el segundo indicador emita señales sólo para la tendencia.

Ayúdame a hacer un conjunto o dime qué he hecho mal.

Captura

Archivos adjuntos:
 

¿De qué diablos estás hablando? ¿Nadie lee la documentación ?

Bares

Solicitar el número de barras en un intervalo determinado

int  Bars( 
   string           symbol_name,     // имя символа 
   ENUM_TIMEFRAMES  timeframe,       // период 
   datetime         start_time,      // с какой даты 
   datetime         stop_time        // по какую дату 
   );

Valor devuelto

Si se dan los parámetros start_time y stop_time, la función devuelve el número de barras en un rango de fechas. Si no se dan estos parámetros, la función devuelve la cantidad total de barras.

Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
  • docs.mql4.com
Bars - Доступ к таймсериям и индикаторам - Справочник MQL4
 

Por favor, dígame qué estoy haciendo mal) o cómo hacerlo bien


void Lvls(datetime data, double OPEN, double avg)
  {

   double hi = OPEN + avg;

   double lo = OPEN - avg;
   
   Print("ХАЙ РАВЕН :", hi," ЛОУ РАВЕН :", lo, "ЦЕНА ОТКРЫТИЯ : ", OPEN);
   
   string up = "LVL_UP_" + TimeToString(data);
   string low = "LVL_LOW_" + TimeToString(data);

//Хай
   ObjectCreate(NULL,up,OBJ_TREND,0,data,hi,data,hi,clrBlue,STYLE_SOLID,2,true,true,false,true,false,1);

//Лоу
  ObjectCreate(NULL,low,OBJ_TREND,0,data,lo,data,lo,clrRed,STYLE_SOLID,2,true,true,false,true,false,1);
  }
  


En general, en primer lugar, los objetos se crean en el gráfico, pero no se muestra, y en segundo lugar, aunque puse una línea de color diferente, las propiedades de la línea tienen su nombre correcto, pero su color en ambos casos es de color rojo, en el tercero no puedo entender lo que la fecha para especificar un enlace de 2 puntos si quiero que la línea se continuó a la derecha, pero no era un rayo?

 
MakarFX:

La función funciona correctamente.

Pruébalo así

y añadir la actualización del saldo a la función de cierre de la orden

Lo probaré durante el día, gracias

 
Alexey Viktorov:

Ya me he perdido en tus deseos y consejos para ti... Así que tal vez mi consejo esté completamente fuera de lugar, pero lo siento...

Entiendo que hay que fijar el balance al principio del día y calcular el beneficio/pérdida durante el día de acuerdo con el cual hay que tomar una decisión sobre la continuación del comercio ...

Así que aquí está la decisión

Si el Asesor Experto se va a reiniciar durante el día, debe considerar el cálculo de las ganancias/pérdidas de las órdenes de hoy teniendo en cuenta los swaps y las comisiones y calcular el balance para el comienzo del día en OnInit().

Creo en las capacidades de Makar, puede mostrar todo esto ya en el código...

Lo intentaré durante el día, gracias

 
MakarFX:

Captura

¿Eso es todo? He estado devanando los sesos durante tres días))))) eh, muchas gracias
 
MakarFX:

Captura

He mirado el historial y sigue sin ser lo mismo. cuando la tendencia es de compra, puede dar señal de venta y viceversa. ¿me puedes decir qué línea cambiar? todo está bien. muchas gracias.
 
jarikn:
He mirado el historial y sigue sin ser lo mismo. cuando la tendencia es de compra, puede dar señal de venta y viceversa. ¿me puedes decir qué línea cambiar? por lo demás todo super. muchas gracias
Acabo de fusionarlos.
 
Алексей КоКоКо:

Por favor, dígame lo que estoy haciendo mal) o lo que es la manera correcta En general, el primer objeto se crea en el gráfico, pero no aparecen, en el segundo, aunque puse diferentes líneas de color en las propiedades tienen sus propios nombres, pero su color en ambos casos es de color rojo, en el tercero no puedo entender lo que la fecha para especificar un ancla de 2 puntos si quiero que la línea para continuar a la derecha, pero no era un rayo?

void Lvls(datetime data, double OPEN, double avg)
  {

   double hi = OPEN + avg;
   double lo = OPEN - avg;
   
   int shift = Period()*60*5;
   
   Print("ХАЙ РАВЕН :", hi," ЛОУ РАВЕН :", lo, "ЦЕНА ОТКРЫТИЯ : ", OPEN);
   
   string up = "LVL_UP_" + TimeToString(data);
   string low = "LVL_LOW_" + TimeToString(data);

//Хай
   ObjectCreate(NULL,up,OBJ_TREND,0,data,hi,data+shift,hi,clrBlue,STYLE_SOLID,2,true,true,false,true,false,1);

//Лоу
  ObjectCreate(NULL,low,OBJ_TREND,0,data,lo,data+shift,lo,clrRed,STYLE_SOLID,2,true,true,false,true,false,1);
  }
Razón de la queja: