[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 410

 
costy_:

¡¿Dónde está el indicador?! (adivinando por los posos del café Tel. https://www.mql5.comhttps://www.mql5.com/ru/)

Corrección...

El problema es que el indicador no se redibuja con la aparición de una nueva barra.

El código del indicador está en el archivo adjunto. No puedo colocarlo vía src (el código no es muy grande).

Gracias de antemano por la ayuda.

 
Por favor, díganme cómo describir la siguiente situación de forma elegante. Supongamos que acabamos de formar una barra en un TF alto (por ejemplo iHigh[NULL,1440,1]). ¿Cómo describir la primera barra en el código en un TF inferior mientras se forma iHigh[NULL,1440,0]? ? Sólo se me ocurren estructuras engorrosas. Gracias.
 
costy_:

Leer

primero establece el tamaño de la matriz

buf[2]; .

asignar

buf[0]=x1; buf[1]=x2;

Leerlo te llevará 2 min.

Gracias. Ya lo leí, creo que no presté mucha atención.
 
001:
¿Podría decirnos cómo describir la situación de la siguiente manera? Supongamos que sólo tenemos una barra formada en un TF alto (por ejemplo iHigh[NULL,1440,1]). ¿Cómo describir la primera barra en el código en un TF inferior mientras se forma iHigh[NULL,1440,0]? ? Sólo se me ocurren estructuras engorrosas. Gracias.

es decir, ¿sabe si se ha abierto una nueva vela diaria en un marco temporal inferior?

O los límites en barras de la vela de 1 día en una baja (no 0)

 
LOA:

Corrección...

El problema es que el indicador no se redibuja con la aparición de una nueva barra.

El código del indicador está en el archivo adjunto. No he conseguido colocarlo vía src (el código parece ser pequeño).

Estoy muy agradecido por la ayuda.

ex4 no se puede ver, necesita mq4
 
costy_:

es decir, ¿sabe si se ha abierto una nueva vela diaria en un marco temporal inferior?

O límites en barras de una vela de 1 día en un mínimo (no 0)


Cuando se abre una nueva vela en la TF alta, devuelve el valor de una determinada vela en una TF baja, pero dentro de los límites de la vela, que se forma (ahora está en la 0ª alta), en la TF alta. Es decir, mientras todavía hay una vela 0 en la TF alta, para devolver el valor de una determinada vela en la TF baja.

En mi caso necesitamos saber que esta vela en (M1 por ejemplo) cerró por encima del máximo en D1 (por ejemplo).

 

¿Cómo hago:

si la Condición1 es verdadera, entonces no la compruebo en cada tic, y en los siguientes tics compruebo la Condición2 también y luego la Condición3 también hasta que declaramos que todas las banderas son falsas?

static bool Val_max, Cl_dn, Val_min; //static or global
                                        |
//+------------------------------------------------------------------+
int start()
  {
   int j;
   double bid;                                         
   bid=Bid;                                    // Текущая цена продажи
   string
   Symb=Symbol();                               // Название фин.инстр.
double Value_max=1.0000;
double Value_min=0.9980;
double Open_1=Open[1];
double Close_1=Close[1];
//----

//--------------------------------------------------------------- 4 --

double Val=iCustom(NULL, 0, "Название Польз. Индикатора",0,0);   // Присваиваем пер. Val значение польз. индикатора
if (Условие1)
{
 Val_max=true;                  // 
 Alert("Значение инд. >= Value_max (исп. 1-е усл.)");
}
if (Условие2)
{
 Cl_dn=true;
 Alert("1 бар закрылся падением (исп. 2-е усл.)");
}
if (Условие3 && Cl_dn==true)
{
 Val_min=true;
 Alert("Значение инд. <= Value_min (исп. 3-е усл.)");
}
if (Val_max==true && Cl_dn==true && Val_min==true)
  {
   for (j = 0; j < OrdersTotal(); j++)
    {
     OrderSelect(j, SELECT_BY_POS, MODE_TRADES);
     if (OrderSymbol() == Symbol())
      {
      if (OrderType() == OP_SELL) return(0);
      }
    }
   
   OrderSend(Symbol(),OP_SELL,0.1,NormalizeDouble(Bid,Digits),2,Bid+400*Point,Bid-400*Point,"",3,Red);  // Открытие SELL
   Val_max=false; Cl_dn=false; Val_min=false;
  }

//----
   return(0);
  }
 
costy_:
ex4 no se puede ver, necesita mq4

Vale. Lo siento...
Archivos adjuntos:
 
001:


Cuando se abre una nueva vela en la TF alta, devuelve el valor de una vela determinada en la TF baja, pero dentro de la vela que se está formando (sigue siendo 0 en la alta), en la TF alta. Es decir, mientras todavía hay una vela 0 en la TF alta, para devolver el valor de una determinada vela en la TF baja.

En mi caso particular, necesitas saber que esta vela en (M1 por ejemplo) cerró por encima del máximo en D1 (por ejemplo).

Todavía no entiendo

iBarShift(0,0,iTime(0,1440,iBarShift(0,1440,Time[0]))) //вернет бар открытия текущего дня на любом текущем тф
iBarShift(0,0,iTime(0,1440,1+iBarShift(0,1440,Time[0]))) //вернет бар открытия вчерашнего дня на любом текущем тф

La imagen es probablemente más fácil de explicar.

 
LOA:

Vale. Lo siento...
iCustom (NULL,0,"ME_Proboy_F5_For_EX",0,i+1)

lee los datos de la barra que ya ha establecido (anterior) i+1 quitar. Pero el algoritmo del creador se romperá (él sabe mejor, yo también trabajo en datos abiertos y generados +1)