if ( iMA(NULL,TimeFrame,150,0,MODE_LWMA,PRICE_CLOSE,0) > iMA(NULL,TimeFrame,300,0,MODE_LWMA,PRICE_CLOSE,0) && FiltroHorario == True && Hour() >= HorarioInicio && Hour() <= HorarioFinal )
Quizas organizando así te funcione
Saludos!!
Gracias por tu aporte Miguel.
Efectivamente, si que funciona como dices, pero no es exactamente eso lo que busco, ya que si por ejemplo, en vez de un filtro, quiero poner dos, uno para un tramo horario y otro para un spread máximo, entonces el EA ya no funcionaría correctamente.
Porque a un filtro que esté como "False", el robot ya no abriría ninguna operación.
Por eso estaba buscando la formula para poner una condición dentro del conjunto de condiciones, o sea un if dentro de otro if. De esta manera se pueden poner todos los filtros que tú quieras. Eso es lo que estoy buscando.
Seguiremos esperando más respuestas e ideas.
Muchas gracias de nuevo compañero.
if ( iMA(NULL,TimeFrame,150,0,MODE_LWMA,PRICE_CLOSE,0) > iMA(NULL,TimeFrame,300,0,MODE_LWMA,PRICE_CLOSE,0)) { if( FiltroHorario == True && Hour() >= HorarioInicio && Hour() <= HorarioFinal ) { //Hace Algo con el filtro activo } if(FiltroHorario==false) { //Hace Algo sin el filtro activo } }
Se desvia mucho de lo que intento hacer y creo que se complicaría mucho.
Para que lo veas mejor y entiendas lo que quiero hacer, te paso el archivo.
Se desvia mucho de lo que intento hacer y creo que se complicaría mucho.
Para que lo veas mejor y entiendas lo que quiero hacer, te paso el archivo.
Te recomiendo que pagues por tu desarrollo en la seccion freelancer https://www.mql5.com/es/job , pues no estas manejando para nada bien el codigo.
Es solo una sugerencia.
Saludos!!!
- 2021.03.01
- www.mql5.com
Estoy aprendiendo, entonces claro, si lo encargo, no aprendo...
Y como tampoco hay ningún manual ni curso ... pues hay que sudar...
De todas maneras muchas gracias por tu ayuda.
Seguiré esperando a ver si alguien aporta otra idea.
Esto quizá te ayude, o quizá te marea un poco más. Yo lo haría así. No lo he probado, solo he revisado que no tuviera errores.
Quizá deberías buscar ejemplos similares para aprender, creo que la idea que tienes es buena, pero la lógica de programación aún la tienes un poco oxidada.
Por cierto, eso de start ya no se usa para los EA, solo para los scripts
Muy buenas a todos. Bueno decir que estoy aprendiendo en MQL4
A ver si alguien me puede ayudar y echarme una manita por favor....
Estoy creando un EA y quiero poner un filtro para usar una condición, en este caso un filtro horario. Lo tengo declarado asi.
Después, dentro de las condiciones para abrir un largo (por ejemplo)
Seguidamente van las instrucciones para la apertura de la operación, pero no funciona
También he probado asi, y nada, tampoco.
Alguna sugerencia por favor.
Muchas gracias.
Empieza con esta condición:
if(LotSize>=minLot&&((StartHour<StopHour&&Hour()>=StartHour&&Hour()<StopHour)||((StartHour>StopHour&&Hour()>=StartHour)||(Hour()<StopHour)))&&Spread<=MaxSpread){ // Condición de entrada en LARGO. // Condición de entrada en CORTO. }
Después escribe un loop para cerrar posiciones fuera del horario si se cumplen las condiciones de salida:
else if(OrdersCount>0){ for(int i=0;i<OrdersTotal();i++){ if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)&& OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber){ if(OrderType()==OP_BUY){ // Salida de posición LARGA. } if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL){ // Salida de posición CORTA. } } } }
De esta manera te aseguras que la salida se produzca en el momento justo independientemente del filtro horario de entrada.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Muy buenas a todos. Bueno decir que estoy aprendiendo en MQL4
A ver si alguien me puede ayudar y echarme una manita por favor....
Estoy creando un EA y quiero poner un filtro para usar una condición, en este caso un filtro horario. Lo tengo declarado asi.
Después, dentro de las condiciones para abrir un largo (por ejemplo)
Seguidamente van las instrucciones para la apertura de la operación, pero no funciona
También he probado asi, y nada, tampoco.
Alguna sugerencia por favor.
Muchas gracias.