Preguntas de los principiantes MQL4 MT4 MetaTrader 4 - página 113
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
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.