Hola a todos,
Hay algun articulo o tutorial donde puede ver como genero el codigo en MQ4 para ejecutar la entrada de una operacion a la hora que yo defina y que segun la señal del indicador en ese MOMENTO se genere la señal Buffer 0 y 1. Ya tengo gran parte del codigo mq4, pero no se con base en la entrada como hacer que se genere la señal a la hora unica que yo lo especifique
Ejemplo
Buffer
Agradezco su ayuda o referencia.
Gracias
Igual te puedo echar una mano. Escríbeme por privado. Es que sin ver lo que llevas escrito de código hasta ahora, no es fácil decirte qué te falta.
De todas formas voy a tratar de responderte por aquí de forma un poco más genérica y sencilla. Igual con eso te basta.
Yo lo que haría es esto:
En primer lugar, acotar el tiempo de funcionamiento del indicador, y añadir los inputs correspondientes
extern int TOD_From_Hour = 09; //time of the day (from hour) extern int TOD_From_Min = 00; //time of the day (from min) extern int TOD_To_Hour = 17; //time of the day (to hour) extern int TOD_To_Min = 00; //time of the day (to min)
Y crear la condición:
bool inTimeInterval(datetime t, int From_Hour, int From_Min, int To_Hour, int To_Min) { string TOD = TimeToString(t, TIME_MINUTES); string TOD_From = StringFormat("%02d", From_Hour)+":"+StringFormat("%02d", From_Min); string TOD_To = StringFormat("%02d", To_Hour)+":"+StringFormat("%02d", To_Min); return((StringCompare(TOD, TOD_From) >= 0 && StringCompare(TOD, TOD_To) <= 0) || (StringCompare(TOD_From, TOD_To) > 0 && ((StringCompare(TOD, TOD_From) >= 0 && StringCompare(TOD, "23:59") <= 0) || (StringCompare(TOD, "00:00") >= 0 && StringCompare(TOD, TOD_To) <= 0)))); }
Voy a considerar una condición muy sencilla, por ejemplo, que el MACD esté por encima del valor cero.
Lo hago para que veas ahora cómo combino la condición con el horario:
//Indicator Buffer X if(iMACD(NULL, PERIOD_CURRENT, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, i) > 0) { if(!inTimeInterval(Time[i], TOD_From_Hour, TOD_From_Min, TOD_To_Hour, TOD_To_Min)) continue; //Dibujar indicador solo en momentos específicos del día Buffer1[i] = Low[i]; //Establecer el valor del indicador en Candlestick Low } else { Buffer1[i] = EMPTY_VALUE; }
Creo que la forma en la que lo he puesto, visualmente se entiende muy bien. Pero quizá buscas algo más específico.
Espero que te sirva como punto de partida
No entiendo exactamente lo que necesitas. En el caso de que simplemente sea para un EA, y quieras acotar un horario, lo haremos así:
Ponemos Inputs:
int TOD_From_Hour = 09; //time of the day (from hour) int TOD_From_Min = 00; //time of the day (from min) int TOD_To_Hour = 17; //time of the day (to hour) int TOD_To_Min = 00; //time of the day (to min)
Definimos condición:
bool inTimeInterval(datetime t, int From_Hour, int From_Min, int To_Hour, int To_Min) { string TOD = TimeToString(t, TIME_MINUTES); string TOD_From = StringFormat("%02d", From_Hour)+":"+StringFormat("%02d", From_Min); string TOD_To = StringFormat("%02d", To_Hour)+":"+StringFormat("%02d", To_Min); return((StringCompare(TOD, TOD_From) >= 0 && StringCompare(TOD, TOD_To) <= 0) || (StringCompare(TOD_From, TOD_To) > 0 && ((StringCompare(TOD, TOD_From) >= 0 && StringCompare(TOD, "23:59") <= 0) || (StringCompare(TOD, "00:00") >= 0 && StringCompare(TOD, TOD_To) <= 0)))); }
Y con las condiciones de apertura de trades, hacemos como en el indicador: (Probablemente esto lo pondrás en OnTick)
//Abrir orden de compra if(iMACD(NULL, PERIOD_CURRENT, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 0) > 0 ) { RefreshRates(); if(!inTimeInterval(TimeCurrent(), TOD_From_Hour, TOD_From_Min, TOD_To_Hour, TOD_To_Min)) return; //Abrir trades solo dentro de este horario if(IsTradeAllowed()) { ticket = myOrderSend(OP_BUY, Ask, TradeSize, ""); if(ticket <= 0) return; } } }
- 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
Hola a todos,
Hay algun articulo o tutorial donde puede ver como genero el codigo en MQ4 para ejecutar la entrada de una operacion a la hora que yo defina y que segun la señal del indicador en ese MOMENTO se genere la señal Buffer 0 y 1. Ya tengo gran parte del codigo mq4, pero no se con base en la entrada como hacer que se genere la señal a la hora unica que yo lo especifique
Ejemplo
Buffer
Agradezco su ayuda o referencia.
Gracias