miércoles, 1 de abril de 2009

La función iMA de metatrader.

En este post voy a explicar un poco la función que trae el metatrader para obtener una media.

Podemos encontrarnos con distintos tipos de medias, por ejemplo:
  • Media simple, SMA.
  • Media exponencial, EMA.
  • Media alisada, WMA.
La función para obtener la media de una serie de valores es:

double iMA( string symbol, int timeframe, int period, int ma_shift, int ma_method, int applied_price, int shift)

Con esta función se calcula la media y retorna su valor.

Como se aprecia a la función se le pueden pasar varios parámetros:
  • El primero de ellos es el parámetro symbol, con este parámetro se puede especificar el símbolo al cual queremos realizarle la media, por ejemplo EUR/USD, si se le pasa NULL se realizaría sobre el símbolo actual.

  • El segúndo parámetro es el timeframe, es decir el período al cual se le realizará la media, pudiendo ser 5 minutos, 1 hora entre otros, si se le pasa 0 se utilizará el tiempo de la gráfica actual.

    PERIOD_M1 1 1 minute.
    PERIOD_M5 5 5 minutes.
    PERIOD_M15 15 15 minutes.
    PERIOD_M30 30 30 minutes.
    PERIOD_H1 60 1 hour.
    PERIOD_H4 240 4 hour.
    PERIOD_D1 1440 Daily.
    PERIOD_W1 10080 Weekly.
    PERIOD_MN1 43200 Monthly.
    0 (zero) 0 Timeframe used on the chart.

  • En el parámetro period, deberemos especificar el período de cálculo al cual deseamos realizar la media.

  • El parámetro ma_method, puede tomar los siguientes valores:


    MODE_SMA 0 Simple moving average
    MODE_EMA 1 Exponential moving average
    MODE_SMMA 2 Smoothed moving average,
    MODE_LWMA 3 Linear weighted moving average

  • El parámetro applied_price puede tomar los siguientes valores:

    PRICE_CLOSE 0 Close price.
    PRICE_OPEN 1 Open price.
    PRICE_HIGH 2 High price.
    PRICE_LOW 3 Low price.
    PRICE_MEDIAN 4 Median price, (high+low)/2.
    PRICE_TYPICAL 5 Typical price, (high+low+close)/3.
    PRICE_WEIGHTED 6 Weighted close price, (high+low+close+close)/4.

Tan solo quedaría poner un ejemplo de como calcular un par de medias, pero eso lo haré con algún caso práctico.

Saludos a todos.

2 comentarios:

  1. Hola:

    Te puedo pedir que me programes un indicador y me lo mailees?
    Me gustaria tener un indicador que me avise por intermedio de un sonido o un speech cuando el precio cruza una media movil del tipo weighted, de arriba hacia abajo o viceversa y eso es todo, pudiendo yo ingresar los periodos de la media movil, el timeframe seria el del grafico.
    Bien, si tenes tiempo, los conocimientos y ganas de programarmelo y enviarmelo, aqui te dejo mi mail gazo11@mail2world.com
    Gustavo.

    ResponderEliminar
  2. Acabo de leer este comentario, puesto que he estado de vacaciones y no he revisado el blog, tan pronto como pueda pondré un post con el código de lo que me estas pidiendo.

    Saludos y perdona la tardanza.

    ResponderEliminar