Moving Average MT4 editorHola, compañeros
estoy tratando de hacerme un propio EA, pero el Meta edito me esta volviendo loco. necesito es básicamente es: al terminar una barra, necesito mirar el movimiento promedio de esta barra y de las 2 anteriores. por ejemplo en un timeline de 15min acaba de terminar la barra de las 8:00, necesito mirar el movimiento promedio de las 7:45 y 7:30 en el mismo instante. alguna idea de como lo puedo hacer. gracias Manuel.
Re: Moving Average MT4 editorHola
Una aproximación al caso. Saludos // Para identificar el inicio de cada barra if(Volume[0] > 1){...} // Indicador "Moving Averages", no se si es tu idea.... // Repasa los parámetros del MA, para adecuarlos a tu sistema double EMA12 = iMA(NULL,0,12,0,MODE_SMA,PRICE_TYPICAL,0); // Para ir guardandolos double GuardarEMA[3] // Definir el array dónde almacenar los valores. De 0 a n. int Indice = 0; // Ir Dandole la vuelata al array de datos ... Indice++; if(Indice > 3) Indice = 0; GuardarEMA[Indice] = iMA(NULL,0,12,0,MODE_SMA,PRICE_TYPICAL,0);
Re: Moving Average MT4 editorMuchas gracias
Si, asi lo tengo hecho, pero el moving Average que me esta arrojando es el valor en el que entro no en el valor al momento de salir de la barra, así que el valor que guarde no me sirve por que puede cambiar en el transcurso de la operación. puedo limitar el valor del moving average ejemplo: cuando lo calculo me da 1.2356697 pero viendo en el gráfico me da 1.2357, como haga para redondearlo en el código para que me de igual al gráfico?. Muchas gracias por su ayuda Manuel
Re: Moving Average MT4 editorHola
Por seguir con la idea, si la he entendido bien ... 1- Para poder operar, habrías de esperar al inicio de la siguiente barra, es mas, has de esperar la finalización de 3 barras, para poder promediar ... 2- El MA se esta moviendo continuamente, hasta la finalización de la barra. // Para redondear a un número determinado de dígitos. NormalizeDouble(valor, dígitos); // Para identificar el inicio de cada Barra if(Volume[0] > 1) // El último valor guardado, será el final de la Barra anterior ... ... GuardarEMA[Indice] = ValorEMA12; else // Vamos guardando el último valor del EMA ValorEMA12 = iMA(NULL,0,12,0,MODE_SMA,PRICE_TYPICAL,0); Saludos
Re: Moving Average MT4 editorZaidisk, prueba la función NormalizeDouble, con ella puedes redondear cualquier valor al número de decimales que quieras:
http://docs.mql4.com/convert/NormalizeDouble Saludos, FXWizard
5 mensajes
• Página 1 de 1
|
|
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados