¿Cómo se añade datos a una M.móvil y llevarlo +N periodos?

Foro dedicado a todo lo relacionado con la versión 4 de la plataforma de Metaquotes.
Responder
od-lambda
Mensajes: 23
Registrado: 26 Oct 2011 10:57

¿Cómo se añade datos a una M.móvil y llevarlo +N periodos?

Mensaje por od-lambda »

Hola chicos/as:


Estoy dandole caña al mt4 y mql4 y bueno estube mirando el ejemplo del book mql4:

http://book.mql4.com/samples/icustom

Imagen



Como veis podemos llevar el indicador tantas "n" veces hacia la izquierda o derecha y arriba/abajo.


En mi caso me gustaria añadirle o prolongarle a una media móvil tradicional tantos periodos hacia al futuro(future_bars), no como un desplacamiento meramente si no añadirle el siguiente calculo a cada periodo:


Cierre de la barra/vela suma/resta de X puntos en N periodos


Total= la media móvil es prolongada N barras a razón de X puntos.

Algo así:

Imagen


Este indicador es MA predictor pero utilizando red neuronal(en mi caso no quiero la red neuronal):

http://codebase.mql4.com/6142



He estado analizando el código para poder habilitarlo:

Código: Seleccionar todo

//--------------------------------------------------------------------
   int start()                         // Special function start()
    {
   int i,                              // Bar index
       n,                              // Formal parameter (index)
       k,                              // Index of indicator array element
       Counted_bars;                   // Number of counted bars
       double
       Sum;                            // High and Low sum for the period
//--------------------------------------------------------------------
   Counted_bars=IndicatorCounted();    // Number of counted bars
   i=Bars-Counted_bars-1;              // Index of the 1st uncounted
   if (i>History-1)                    // If too many bars ..
      i=History-1;                     // ..calculate for specified amount.
 
   while(i>=0)                         // Loop for uncounted bars
     {
      Sum=0;                           // Nulling at loop beginning
      for(n=i;n<=i+Aver_Bars-1;n++)    // Loop of summing values 
         Sum=Sum + High[n]+Low[n];     // Accumulating maximal values sum
      k=i+Left_Right;                  // Obtaining calculation index
      Line_1[k]=  iCustom



Pero me pierdo en las variable n,i,k para que al final aparezca el resultado prolongado:

Código: Seleccionar todo

Line_4[k]= iCustom(NULL, 0, "INDICADOR","VARIABLE",4,0,i) ;// Value of the 4nd buffer
Gracias!!!
Borja
Mensajes: 3
Registrado: 21 Mar 2010 17:44

Re: ¿Cómo se añade datos a una M.móvil y llevarlo +N periodo

Mensaje por Borja »

od-lambda escribió:Hola chicos/as:


Estoy dandole caña al mt4 y mql4 y bueno estube mirando el ejemplo del book mql4:

<!-- m --><a class="postlink" href="http://book.mql4.com/samples/icustom">h ... om</a><!-- m -->

Imagen



Como veis podemos llevar el indicador tantas "n" veces hacia la izquierda o derecha y arriba/abajo.


En mi caso me gustaria añadirle o prolongarle a una media móvil tradicional tantos periodos hacia al futuro(future_bars), no como un desplacamiento meramente si no añadirle el siguiente calculo a cada periodo:


Cierre de la barra/vela suma/resta de X puntos en N periodos


Total= la media móvil es prolongada N barras a razón de X puntos.

Algo así:

Imagen


Este indicador es MA predictor pero utilizando red neuronal(en mi caso no quiero la red neuronal):

<!-- m --><a class="postlink" href="http://codebase.mql4.com/6142">http://c ... 42</a><!-- m -->



He estado analizando el código para poder habilitarlo:

Código: Seleccionar todo

//--------------------------------------------------------------------
   int start()                         // Special function start()
    {
   int i,                              // Bar index
       n,                              // Formal parameter (index)
       k,                              // Index of indicator array element
       Counted_bars;                   // Number of counted bars
       double
       Sum;                            // High and Low sum for the period
//--------------------------------------------------------------------
   Counted_bars=IndicatorCounted();    // Number of counted bars
   i=Bars-Counted_bars-1;              // Index of the 1st uncounted
   if (i>History-1)                    // If too many bars ..
      i=History-1;                     // ..calculate for specified amount.
 
   while(i>=0)                         // Loop for uncounted bars
     {
      Sum=0;                           // Nulling at loop beginning
      for(n=i;n<=i+Aver_Bars-1;n++)    // Loop of summing values 
         Sum=Sum + High[n]+Low[n];     // Accumulating maximal values sum
      k=i+Left_Right;                  // Obtaining calculation index
      Line_1[k]=  iCustom



Pero me pierdo en las variable n,i,k para que al final aparezca el resultado prolongado:

Código: Seleccionar todo

Line_4[k]= iCustom(NULL, 0, "INDICADOR","VARIABLE",4,0,i) ;// Value of the 4nd buffer
Gracias!!!
Hola OD: La verdad es que de programar no tengo ni idea. Pero hay una cosilla que me encanta y es analizar y cuestionar. Algunos conocimientos y experiencias tengo en tema de Estadística-Econometría y más chorradas de esas.
Dado que has empezado un tema que puede ser muy interesante y además fácilmente analizado, si que podríamos profundizar más.

Si no entiendo mal , el objetivo sería conseguir una curva o lo que sea, que predijera lo que va a ocurrir en la vela próxima a la actual. ¿NO?

Partimos de un mercado aleatorio, especulativo, manipulado, segmentado, temporal y tenemos unos modelos, estocásticos, estadísticos, probabilísticos, históricos..

A vuelapluma te podría decir , que se puede conseguir algo con un acierto superior al 60%. (todo un éxito si se consigue).

Tema muy interesante. Saludos
od-lambda
Mensajes: 23
Registrado: 26 Oct 2011 10:57

Re: ¿Cómo se añade datos a una M.móvil y llevarlo +N periodo

Mensaje por od-lambda »

Hola Borja:


Gracias por leerme y responderme!!!

Si, es realizar a modo "futuro" el que dibujase dicha linea, que realmente es a modo orientativo ya que el mercado o el precio nos puede realizar otra acción.Yo creo que si es en un periodo a corto plazo nos puede orientar bastante bien.

Pienso igual que tu que el mercado pues es algo bastante manipulado,aleatorio, pero sería bastante educativo realizar un análisis de esta manera.Por lo menos para mi...al igual que la MA predictor, hoy haré unas pruebas a ver que se puede sacar en conclusión.Muchas veces vemos indicadores o ciertos temas, que leidos son bastante convincentes pero que requieren de algún estudio o puesta en práctica por uno mismo para ver si realmente lo dicho en la práctica corresponde.


Si vuelapluma puede aportar fenomenal!!!


Un saludo!
od-lambda
Mensajes: 23
Registrado: 26 Oct 2011 10:57

Re: ¿Cómo se añade datos a una M.móvil y llevarlo +N periodo

Mensaje por od-lambda »

Añado imagen del primer paso para llevar una linea de 5000 periodos!!!

Ha costado!!!

Imagen


Ahora tengo que añadir esta prolongación al indicador...luego subo una imagen.


Saludos!!!

Pdt:No es Spiderman! :-D :lol:
Borja
Mensajes: 3
Registrado: 21 Mar 2010 17:44

Re: ¿Cómo se añade datos a una M.móvil y llevarlo +N periodo

Mensaje por Borja »

Hola OD: Tengo algunos programas que ya hacen eso de intentar adelantar la media en N periodos, bueno , más exactamente , el programa hace una simulación y posteriormente hace correcciones. El problema es que falla mucho y los criterios que utiliza , dado los resultados , no son buenos. Te lo puedo pasar y ves el código que utiliza para crear las futuras velas. Lo realmente importante , a mi juicio, es que parámetros o modelos son los correctos para eliminar errores. Una posible visión sería , no adelantarse más de dos velas, y al final de cada vela que realice su análisis para crear las dos velas futuras en base a los datos reales de la última vela creada. Dime que piensas. Gracias

od-lambda
Mensajes: 23
Registrado: 26 Oct 2011 10:57

Re: ¿Cómo se añade datos a una M.móvil y llevarlo +N periodo

Mensaje por od-lambda »

Hola Borja:


Si yo también coincido contigo que no hay que prolongar demasiado los datos hacia el futuro porque va a fallar si o si, ya que estoy no es una ciencia adivinatoria.Creo que alomejor 2-5 velas puede ser suficiente en un corto plazo de trading.

Creo que te refieres a este:

http://codebase.mql4.com/6306

"Back to the future"(Como la pelicula xd)


Totalmente de acuerdo en realizar ese re-calculo a tiempo real, coincido totalmente contigo.El indicador que te comento no me re-calcula los otros indicadores con lo que si ves interesante a ver de que manera podemos abarcar dos temas que veo actualmente:


1-Poner este indicador de precio backtothefuture para que represente dichas velas( a mi no me funciona bien dicho indicador, se me queda la misma vela siempre nose porque...?¿?)

2-Prolongar el indicador que queramos(mediante icustom) y prolongarlo dichos periodos que decimos.



Ahora mismo como ves en mi humilde blog, mi sistema de bandas quiero prolongarlo en un indicador aparte.Por el momento he conseguido que ha cierre de la vela actual dibuje el indicador X periodos definidos por el usuario.

Voy a ver si lo consigo, si ves algún código por casualidad que aumente y pueda verlo como ejemplo fenomenal.

Es cuestión de tiempo que lo saque!

Un saludo!
Borja
Mensajes: 3
Registrado: 21 Mar 2010 17:44

Re: ¿Cómo se añade datos a una M.móvil y llevarlo +N periodo

Mensaje por Borja »

Hola OD: Tú problema es el de programar, poca ayuda te puede ofrecer. Mi problema es el modelo que hay que utilizar para vaticinar como van a cerrar las velas posteriores a la actual. Ya te adelanto , que el sistema debe identificar algo histórico y relacionarlo con el presente. Una vez reconozca los factores o el modelo, es cuando podrá , dibujar las velas. Pretender que en todo momento hayan dos velas por delante de la actual, es imposible si buscamos rigor y no lotería. Son muchas las variables que debe analizar para tomar una decisión coherente. Hay un EA que para mi es muy curioso el sistema que utiliza para analizar, se llama GO HARD y se basa en la rapidez de movimiento del precio. A mí me dice mucho este sistema, que por si sólo , no es relevante, pero añadiendo cosillas (es lo que estoy probando), puede dar buenos resultados. Saludos
od-lambda
Mensajes: 23
Registrado: 26 Oct 2011 10:57

Re: ¿Cómo se añade datos a una M.móvil y llevarlo +N periodo

Mensaje por od-lambda »

Hola:


Si es la de programar pero bueno toda ayuda es siempre bienvenida.Es verdad que si pintamos velas puede ser algo bastante de lotería y como dices si tiramos de histórico debería el indicador tener la base de datos y trazar a tiempo real.No es mala idea.

Lo que no encuentro es la EA de GO HARD, tienes el link?

Algo ya estoy probando en el sistema que estoy haciendo yo pero sigue estando en pañales:

Imagen

¿Que propones para realizar un calculo estimativo de precios, o que piensas al respecto?


Lo que si he visto es este proyecto:


viewtopic.php?t=10083

Y este:

http://neuroshell.com/index.asp


Un saludo!
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Metatrader 4”