¡¡¡Hola!!!¡¡¡Quiero hacer lo siguiente: necesito que mi EA abra todas las órdenes (de venta y de compra), aunque ya estén abiertas y que lo haga no cuando converjan todas las condiciones, sino en la siguiente vela!!! Ayuda plz......Se lo agradezco de antemano...
qroner: De todos modos, parece que nadie va a responder...
No parece haber ningún error en la función que has publicado. Me confunde el uso de OrderTicket()!=Ticket para cribar los pedidos adyacentes con el mismo ticket. Compruebe y asegúrese de que no existen tales órdenes. Si el compilador especifica (69,25), mire la posición 25 de la línea 69 - el error está ahí. Escribe esta línea.
Todo está claro. El error está en la línea summ+=MathAbs(Alto[i]-Bajo[i]); al contar 25 posiciones desde el borde probablemente vuelva a Alto[i].
He escrito Alert(Low[-1]); el compilador requiere un número positivo. Escribí int n=-1; Alert(Low[n]); - al ejecutar Array fuera de rangre. Pero, ¿cómo puede i<0?? tal vez sea la falta de datos históricos? comprueba el intervalo de fechas de ... a ...
¡Por ejemplo necesito esta condición if(iClose(NULL,HTF,4)<BlueLine) si se ejecuta DayDown = 1 ! P: ¿Cómo se puede dejar el DayDown en 1 y no ser consultado hasta el día siguiente?
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
necesito que mi EA abra todas las órdenes (de venta y de compra), aunque ya estén abiertas y que lo haga no cuando converjan todas las condiciones, sino en la siguiente vela!!! Ayuda plz......Se lo agradezco de antemano...
Por el momento tengo esto en mi código:
{
if(NewBar())
{
// algoritmo propio, etc.
}
}
bool NewBar()
{
staticdatetime¡lastbar=0;
datetime curbar=iTime(Symbol(),0,0);
if(lastbar!=curbar)
{
lastbar=curbar;
return(true);
}
return(false);
}
}
Esta es la función.
Sólo pensé que el problema no estaba en el código, ya que no hay errores en el modo estándar.
De todos modos, nadie parece responder...
De todos modos, nadie parece responder...
No parece haber ningún error en la función que has publicado. Me confunde el uso de OrderTicket()!=Ticket para cribar los pedidos adyacentes con el mismo ticket. Compruebe y asegúrese de que no existen tales órdenes. Si el compilador especifica (69,25), mire la posición 25 de la línea 69 - el error está ahí. Escribe esta línea.
Realmente me pregunto qué tiene en la línea 69
Uf, pensé que nadie reaccionaría.
Aquí está esa parte del código:
66 double Volatilidad(int _periodo){
67 double summ = 0;
68 for(int i=1; i<=_periodo; i++)
69 summ+=MathAbs(High[i]-Low[i])
70 return(NormalizeDouble(summ/_period, Digits))
71 }
Gracias por el consejo
Uf, pensé que nadie reaccionaría.
Aquí está esa parte del código:
66 double Volatilidad(int _periodo){
67 double summ = 0;
68 for(int i=1; i<=_periodo; i++)
69 summ+=MathAbs(High[i]-Low[i])
70 return(NormalizeDouble(summ/_period, Digits))
71 }
Gracias por el consejo.
Todo está claro. El error está en la línea summ+=MathAbs(Alto[i]-Bajo[i]); al contar 25 posiciones desde el borde probablemente vuelva a Alto[i].
He escrito Alert(Low[-1]); el compilador requiere un número positivo. Escribí int n=-1; Alert(Low[n]); - al ejecutar Array fuera de rangre. Pero, ¿cómo puede i<0?? tal vez sea la falta de datos históricos? comprueba el intervalo de fechas de ... a ...
POR FAVOR, ACONSEJAR QUÉ COMERCIANTE PARA ELEGIR O EL NOMBRE EXACTO DEL SERVIDOR
Uf, pensé que nadie reaccionaría.
Aquí está esa parte del código:
66 double Volatilidad(int _periodo){
67 double summ = 0;
68 for(int i=1; i<=_periodo; i++)
69 summ+=MathAbs(High[i]-Low[i])
70 return(NormalizeDouble(summ/_period, Digits))
71 }
Gracias por el consejo.
Parece que _period tiene a veces un valor mayor que los elementos del array. De ahí los excesos de la matriz.
Elige una de las opciones.