[ARCHIVO]Cualquier pregunta de novato, para no saturar el foro. Profesionales, no lo dejéis pasar. No puedo ir a ningún sitio sin ti - 5. - página 112

 
Hola a todos. No sé dónde escribir, así que escribo aquí. Necesito un indicador sencillo, que para los profesionales locales no sea difícil de escribir. Tal vez sea en otro lugar, pero la búsqueda no dio nada (+7). Quiero utilizar un histograma de barridos cruzados con barras por debajo y por encima de cero, rojas y verdes respectivamente. Utilizo 7EMA close y 7EMA open. Si no puede difícil de escribir por favor o tocar la nariz si tal indicador ya existe. Lo utilizaré como indicador y no sé cómo utilizarlo).
 
Djon777:
Hola a todos. No sé dónde escribir, así que escribo aquí. Necesito un indicador sencillo, que para los profesionales locales no sea difícil de escribir. Tal vez sea en otro lugar, pero la búsqueda no dio nada (+7). Quiero utilizar un histograma de barridos cruzados con barras por debajo y por encima de cero, rojas y verdes respectivamente. Utilizo 7EMA close y 7EMA open. Si no puede difícil de escribir por favor o tocar la nariz si tal indicador ya existe. Lo utilizaré como indicador y no sé cómo utilizarlo).
El MACD está en el conjunto estándar de indicadores de MT4.
 
Zhunko:
El MACD está incluido en el conjunto de indicadores estándar de MT4.


Sé que lo es, pero lo que necesito es un histograma como este http://savepic.org/2586171.gif
 
artmedia70:
La discriminación por sí sola... :(
Para "discriminar", primero hay que discriminar. La única pregunta es ¿quién? ;)
 

¡Buenas tardes!

Quiero utilizar un indicador personalizado en mi EA. Descargué el indicador, tomé su código y lo pegué en mi EA. Tengo un error. Tengo entendido que la funciónSetIndexBuffer() sólo se puede utilizar en los indicadores. ¿Qué debo hacer: cambiarlo por otra función (en qué función) o sacar los datos del indicador personalizado e insertarlos en el código del Asesor Experto?

¡Estaría muy agradecido por la ayuda!

 

Buenas tardes.

Tengo SupDem, lo he cambiado un poco, he añadido un tampón de grosor de tira.

Intento encontrar estas barras por su número relativo a la barra 0.

double GetSapDemUP(string sy="0", int tf=0,int ne=0) {
  if (sy=="" || sy=="0") sy=Symbol();
  double zz;
  int    i, k=iBars(sy, tf), ke=0;

  for (i=1; i<k; i++) {
    zz=iCustom(sy, tf, "SupDem_5z_1", 6, i+1);
    if (zz!=0) {
      ke++;
      if (ke>ne) return(zz);
    }
  }
  Print("SupDem_5z_1(): SupDem ",ne," не найден");
  return(0);
}

double GetSapDemDN(string sy="0", int tf=0,int ne=0) {
  if (sy=="" || sy=="0") sy=Symbol();
  double zz;
  int    i, k=iBars(sy, tf), ke=0;

  for (i=0; i<k; i++) {
    zz=iCustom(sy, tf, "SupDem_5z_1", 5, i);
    if (zz!=0) {
      ke++;
      if (ke>ne) return(zz);
    }
  }
  Print("SupDem_5z_1(): SupDem ",ne," не найден");
  return(0);
}
No funciona, ¿qué he hecho mal? Ayúdame con el código
Archivos adjuntos:
 

¡Buenas tardes!

Estimados profesionales, podrían aconsejarme por favor.

Si el precio supera en 50 pips el precio de apertura de esta orden, la orden tiene que ser modificada.

OrderSelect(0, SELECT_BY_POS,MODE_TRADES);

double OPEN = OrderOpenPrice();
double maximus = OPEN + 0.00500;
Alerta ("maximus = ",maximus);
double minimus = OPEN - 0.00500;
RefreshRates();//refrescar los datos.
timecur = TimeToStr(TimeCurrent(),TIME_SECONDS); //Calcular la hora actual en formato HH:MM.
if ((timecur > "00:00:00") && (timecur < "22:58:00") && (Deal_s == 1) && (Deal_bb == 0)&& (Bid > maximus))
{
OrderSelect(0, SELECT_BY_POS,MODE_TRADES);
Lootup = OrderLots () * 0,34;
Lootdown = OrderLots () * 0.34;
OrderClose(OrderTicket(), Lootdown, Ask, 10, CLR_NONE);
Alerta (GetLastError());
Deal_bb = 1;
}

Si ocurre durante el día, soy capaz de hacerlo. Por favor, dígame, ¿cómo comprobar si el precio de apertura + 50 P es controlado por el precio de cada lote, hasta que se cierra en el día siguiente?

 
berezhnuy:

Buenas tardes.

Tengo SupDem, lo he cambiado un poco, he añadido un tampón de grosor de tira.

Intento encontrar estas barras por su número relativo a la barra 0.

No lo encuentro, ¿qué he hecho mal? código de ayuda

¡¡¡Así se buscan los precios de los extremos que están en el buffer 0 y 1!!!

Pruebe a dar salida a los valores a través de los búferes print o soment, 2 y 3, 4 y 5.

ejemplo:

Comment(iCustom(NULL,0, "SupDem_5z_1", 5, i));

Algo así...

 
Egori4:

¡Buenas tardes!

Quiero utilizar un indicador personalizado en mi EA. Descargué el indicador, tomé su código y lo pegué en mi EA. Tengo un error. Tengo entendido que la funciónSetIndexBuffer() sólo se puede utilizar en los indicadores. ¿Qué debo hacer: cambiarla por otra función (en cuál) o sacar los datos del indicador personalizado e insertarlos en el código del Asesor Experto?

Le agradecería mucho su ayuda.

El primero de una serie de artículos:


https://www.mql5.com/ru/articles/1456

 
Boneshapper:

¡Buenas tardes!

Estimados profesionales, podrían aconsejarme por favor.

Si el precio supera en 50 pips el precio de apertura de esta orden, la orden tiene que ser modificada.

OrderSelect(0, SELECT_BY_POS,MODE_TRADES);

double OPEN = OrderOpenPrice();
double maximus = OPEN + 0.00500;
Alerta ("maximus = ",maximus);
double minimus = OPEN - 0.00500;
RefreshRates();//Refrescar los datos.
timecur = TimeToStr(TimeCurrent(),TIME_SECONDS); //Calcular la hora actual en formato HH:MM.
if ((timecur > "00:00:00") && (timecur < "22:58:00") && (Deal_s == 1) && (Deal_bb == 0)&& (Bid > maximus))
{
OrderSelect(0, SELECT_BY_POS,MODE_TRADES);
Lootup = OrderLots () * 0,34;
Lootdown = OrderLots () * 0.34;
OrderClose(OrderTicket(), Lootdown, Ask, 10, CLR_NONE);
Alerta (GetLastError());
Deal_bb = 1;
}

Si ocurre durante el día, soy capaz de hacerlo. Por favor, aconséjeme, cómo comprobar cómo establecer la condición que controla el precio de apertura + 50 P para cada lote, hasta que se cierra en pocos días.

Intenta hacer un bucle a través de las posiciones

for(int i=OrdersTotal()-1; i>=0; i--)
   {
    if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
       {
         if(OrderType()==OP_BUY)
            {
          //ваши действия 
            }
         if(OrderType()==OP_SELL)
            {
          //ваши действия 
            }
       }
   }
 
Razón de la queja: