Descargar MetaTrader 5

Pronóstico One-Step-Ahead de la econometría EURUSD

13 agosto 2015, 12:17
СанСаныч Фоменко
0
392

Introducción

El artículo se centra en la previsión de one-step-ahead para EURUSD usando software EViews y una evaluación adicional de resultados de pronósticos mediante el programa EViews y un Asesor Experto en MQL4. Se construye sobre el artículo "Análisis de los Parámetros Estadísticos de los Indicadores" cuyas proposiciones se utilizarán sin ninguna aclaración adicional.


1. Construcción del Modelo

El artículo anterior terminó con el análisis de la ecuación de regresión siguiente:

EURUSD = C(1)*EURUSD_HP(1) + C(2)*D(EURUSD_HP(1)) + C(3)*D(EURUSD_HP(2))

Esta ecuación fue el resultado de la aplicación de la descomposición gradual de las cotizaciones del precio de cierre inicial. La idea se basa en la separación de un componente deterministico de la cotización inicial y un posterior análisis del residual resultante.

Comencemos por construir un modelo para EURUSD H1 en las barres en un período de una semana del 12 de septiembre de 2011 al 17 de septiembre de 2011.


1.1. Análisis de las cotizaciones iniciales del EURUSD

Empezamos con el análisis de la serie inicial del EURUSD para planificar el siguiente paso.

En primer lugar, Permítanos crear un archivo que contiene cotizaciones para su posterior análisis en EViews. Para ello, se utiliza un indicador que se superpone en el gráfico correspondiente para generar un archivo con cotizaciones.

El script del indicador se muestra a continuación y en mi opinión no necesita ningún comentario.

//+------------------------------------------------------------------+
//|                                                   Kotir_Out.mq4  |
//|   Cotizaciones de indicador de la salida para EViews             |
//|   Version of 29.08.2011                                          |
//+------------------------------------------------------------------+
//--- indicador en la ventana principal
#property indicator_chart_window
//--- número de búferes del indicador visible
#property indicator_buffers            1
//--- establecer el color del indicador
#property indicator_color1             Red      // Forecast      
//--- ajuste del ancho de la línea
#property indicator_width1             2
//--- parámetros externoss
extern   int      Number_Bars=100;     // Númbero de barras
extern   string   DateTime_begin    =  "2011.01.01 00:00";
extern   string   DateTime_end      =  "2011.01.01 00:00";
//--- variables globales
//--- declarar  buffers
double   Quotes[];         // Cotizaciones no visibles
int      Quotes_handle;    // Puntero del Archivo de cotizaciones
int      i;                // Contador en ciclos
//--- nombres de archivos para cambios con EViews
string   fileQuotes;       // Nobre del archivo de las Cotizaciones
//+------------------------------------------------------------------+
//|Función de inicio del indicador                                   |
//+------------------------------------------------------------------+
int init()
  {
//--- numero de bufers del indicador
   IndicatorBuffers(1);
//--- ajuste de los parámetros del trazo
   SetIndexStyle(0,DRAW_LINE,STYLE_SOLID,0);
   SetIndexDrawBegin(0,Number_Bars);

//--- vinculando el número del inicador con el nombre
   SetIndexBuffer(0,Quotes);  // Bufer Indice

//--- Valor del buffer inicialinitial buffer values
   SetIndexEmptyValue(0,0.0);
//--- nombre del indicador
   IndicatorShortName("Forecast");
//--- generando nombres de archivos para cambios con EViews
   fileQuotes="kotir.txt";   // Nombre del archivo de Cotizaciones
   int       N_bars_begin   =  0;
   int       N_bars_end     =  0;

   datetime  var_DT_begin   =  0;
   datetime  var_DT_end     =  0;
   bool      exact          =  false;
//---
//--- creando el archivo de cotizaciones para la operación del EViews operation
   Quotes_handle=FileOpen(fileQuotes,FILE_CSV|FILE_WRITE,',');
//--- salida abend
   if(Quotes_handle<1)
     {
      Print("Error al crear el archivo ",fileQuotes," Error #",GetLastError());
      return(0);
     }
   FileWrite(Quotes_handle,"DATE","kotir");  // Cabecera
//---    
//--- calcular el número de barras a exportar
   var_DT_begin =  StrToTime(DateTime_begin);
   var_DT_end   =  StrToTime(DateTime_end);

   if(var_DT_begin!=var_DT_end)
     {
      N_bars_begin=iBarShift(NULL,Period(),var_DT_begin,exact);
      N_bars_end=iBarShift(NULL,Period(),var_DT_end,exact);
      Number_Bars=N_bars_begin-N_bars_end;

      Print("Number_Bars = ",Number_Bars,
            ", N_bars_end = ",N_bars_end,
            ", N_bars_begin = ",N_bars_begin);

      for(i=N_bars_begin; i>=N_bars_end; i--)
        {
         FileWrite(Quotes_handle,
                   TimeToStr(iTime(Symbol(),Period(),i)),
                   iOpen(Symbol(),Period(),i));
        }
     }
   else
     {
      for(i=Number_Bars-1; i>=0; i--)
        {
         FileWrite(Quotes_handle,
                   TimeToStr(iTime(Symbol(),Period(),i)),
                   iOpen(Symbol(),Period(),i));
        }
     }
// --- escribiendo cotizaciones
   FileWrite(Quotes_handle, "Forecast ", 0);   // Area de previsión
   FileClose(Quotes_handle);                  // Cerrar archivo de cotizaciones
   Comment("Created quotes file with the number of bars =",Number_Bars+1);
//--- final de la sección de Init()
   return(0);
  }
//+------------------------------------------------------------------+
//| Función de inicio del indicador                                  |
//+------------------------------------------------------------------+
int start()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Función de finalización del indicador personalizado              |
//+------------------------------------------------------------------+
int deinit()
  {
//--- quitar el mensaje de la pantalla
   Comment("                                                     ");
//----
   return(0);
  }
//+------------------------------------------------------------------+

Al haber establecido las fechas especificadas arriba, obtuve el archivo de cotizaciones que consta de 119 líneas, la última línea comienza por "Previsión, 0" вЂ", que es donde estará la previsión futura. Tener en cuenta que estoy usando precios de apertura . También tenga en cuenta que las comillas en el archivo estén dispuestas en el orden opuesto al de MQL4, es decir, como en lenguajes de programación.

Obviamente genera el archivo quotes.txt en la carpeta del terminal \expert\files\. El Asesor Experto que va a revisar a continuación tendrá el archivo de cotizaciones de la carpeta especificada al operar en DEMO o modo REAL; sin embargo cuando se utiliza en modo de prueba, este archivo se encuentra en la carpeta \tester\files\ así que estoy poniendo manualmente quotes.txt en la carpeta \tester\files\ del terminal.

Aquí está el gráfico:


Fig. 1. Tabla de cotización de EURUSD H1


Podemos observar las tendencias de uno o varios, pero nuestro objetivo es predecir la futura estabilidad del sistema de trading. Por lo tanto vamos a realizar un análisis de estacionariedad de las cotizaciones iniciales de EURUSD H1.

Debemos calcular la estadística descriptiva:



Fig. 2. Estadística descriptiva


La estadística descriptiva sugiere que:

  • Existe un sesgo a la derecha (debe ser 0 considerando que tenemos 0.244950);
  • La probabilidad de nuestra cotización inicial para ser distribuido normalmente es 9.64%.

Visualmente, el histograma sin duda nada tiene que ver con la distribución normal, pero la probabilidad de 9.64% da lugar a ciertas ilusiones.

Queda demostrado en comparación con la teoría:


Fig. 3. Histograma EURUSD en comparación con la curva de distribución normal teórica


Visualmente podemos determinar que la cotización EURUSD_Рќ1 distan mucho de ser distribuida normalmente.

Sin embargo, todavía es temprano sacar una conclusión viendo la tendencia, sugiriendo la presencia de un componente determinista en las cotizaciones mientras que la presencia de tales componentes puede distorsionar completamente las características estadísticas de la variable aleatoria (cotizaciones).

Debemos calcular la función de autocorrelación de las cotizaciones.

Aparece como sigue:


Fig. 4. Función de autocorrelación de las cotizaciones EURUSD_H1


Al trazar el gráfico, hemos obtenido una probabilidad de la falta de correlación entre los Lags - es distinto de cero para los primeros 16 lags. La gráfica y la probabilidad sugieren claramente que existe correlación entre los lags en EURUSD_H1, es decir, las cotizaciones consideradas que contienen un componente determinista.

¿Si el componente determinista se resta de las cotizaciones iniciales, qué características estadísticas tendrá el residual?

Para ello, se aplicará una prueba de root ("raiz") unitaria para ver si es más prospectivo trabajar con la primera diferencia (residual) de las cotizaciones iniciales.


Table 1. Prueba de root unitaria

El anterior examen muestra que:

  • La probabilidad de que las cotizaciones iniciales tengan un root unitario (la primera diferencia se distribuye normalmente) es del 41%;
  • La estadística de DW (Durbin-Watson) de unos 2,2 también sugiere que la primera diferencia se distribuya normalmente.
Conclusión: sería razonable para las series precio sin tendencia (detrend) y posteriormente analizar el residual desde la falta de tendencia (detrending).


1.2. Suavizado (Smoothing)

Se utilizará el filtro de Hodrick-Prescott para separar el componente determinista de las cotizaciones EURUSD, por analogía con el artículo anterior.

El número "10" en los nombres de las series indica el parámetro lambda en el filtro de Hodrick-Prescott. Basado en la teoría, detrás de esta herramienta, el valor lambda es de gran importancia para el resultado, que parece ser como sigue:



Fig. 5. El resultado del smoothing mediante el filtro Hodrick-Prescott

Utilizaremos la ecuación del artículo anterior que en las anotaciones de EViews aparece como sigue:

cotizaciones = C(1) * HP(-1) + C(2) * D(HP(-1)) + C(3)*D(HP(-2))

es decir, en esta ecuación, tenemos en cuenta el componente determinista y el ruido por el que entendemos la diferencia entre las cotizaciones iniciales y su componente determinista.

Tras el análisis del modelo actual de la cotización inicial, obtenemos la siguiente regresión parámetros de la ecuación:


Table 2. Estimación de la ecuación de regresión


El 39% de probabilidad de que coeficiente sea cero si РќР 1_D(-1) es ciertamente muy desagradable. Dejamos todo como en el ejemplo que vamos a ofrecer para fines de demostración.

Habiendo obtenido laestimación de la ecuación de la regresión (estimación de los coeficientes de la ecuación) podemos proceder un paso adelante (one-step-ahead) en la previsión.

El resultado es el siguiente:



Fig. 6. Pronóstico one-Step-ahead del EURUSD(hacia las 12 a.m. del lunes)


1.3. Estimación del residual de la ecuación de regresión

Debemos realizar un análisis limitado del residual de la ecuación de regresión. Este residual se obtuvo restando los valores calculados mediante la ecuación de regresión de la cotización inicial del EURUSD.

Me permito recordar que las características de este residual nos ayudará a estimar la estabilidad futura del sistema de trading.

En primer lugar, se ejecutará una prueba para el análisis de correlaciones entre los lags en el residual:



Fig. 7. Función de autocorrelación de los residuales


Desafortunadamente, todavía existen las correlaciones entre los lags y su presencia pone en duda el análisis estadístico.

La próxima prueba que vamos a realizar es la prueba de normalidad del residual.

El resultado aparece como sigue:


Fig. 8. Histograma del residual de la ecuación de regresión


La probabilidad del residual de ser distribuido normalmente es del 25.57% lo cual es una gran figura.

Permítanos realizar pruebas de heterocedasticidad del residual.

Los resultados son como sigue:

  • La probabilidad de que no exista heterocedasticidad del tipo GARCH es del 16.08%
  • La probabilidad de que exista heterocedasticidad general White (en blanco) es del 0.0066%
Conclusiones: después de la diferenciación, hemos obtenido un residual con una probabilidad del 25% para ser distribuido normalmente y una probabilidad de casi cero al liberarse de las correlaciones y estrictamente podemos rechazar la hipótesis de que existe heterocedasticidad general White. Esto implica que nuestro modelo es bastante crudo y requiere que eliminemos las correlaciones entre los lags para luego una vez más se presente en las pruebas de la heterocedasticidad en caso se presente tal modelo de heterocedasticidad.

Ya que mi objetivo es demostrar el desarrollo de un sistema de trading basado en el pronóstico, voy a seguir los cálculos para obtener características de interés para los traders - ganancia o pérdida.


2. Estimación de Resultados de los Pronósticos

Cuando tradeamos, estamos interesados en las ganancias en lugar de error de pronóstico que debe ser tomado como una herramienta auxiliar de análisis para la comparación de diferentes modelos pero no más que eso.

Para estimar los resultados previstos, fue escrito un programa en el lenguaje EViews . Compara movimientos incrementales reales de las cotiz<aciones EURUSD con las predicciones. Si estos incrementos coinciden, hay ganancia; Si no, hay pérdida. Además, calculamos el beneficio que representa la suma de los incrementos coincidiendo con los incrementos previstos y la pérdida correspondiente.

El beneficio del factor de pérdida es designado como un factor de beneficio. Luego calculamos el ratio entre incrementos rentables y no rentables (beneficios del ratio de trades con pérdida). También se calculan el número de trades con pérdidas consecutivas y el ratio entre los trades de pérdidas consecutivas y beneficiosos (factor de recuperación).

El programa en lenguaje EViews para la estimación de modelos de resultados en términos de sistema de trading que consisten en el programa principal y dos subrutinas.

El programa principal (principal) es el siguiente:

' 
' Progra de previsiones One-step-ahead (un paso adelante)
' Version of 26.09.2011 
'-----------------------------------------------
 include    sub_profit_factor
 include    sub_model_2
'
' 1. Crear un archivo de trabajo EViews bajo el nombre МТ4 
'
 %path   = "C:\Program Files\BCS Trade Station\tester\files"
 cd      %path

 if @fileexist("work.wf1") = 0  then
  wfcreate(wf  = work)  u 510
 else
  wfopen   work
 endif
'
' Lee cotizaciones de archivos
 read(t = txt)   kotir.txt date $ kotir
'
' Número de observaciones en la serie sin NA
 !number   = @obs(kotir)
 smpl     1  !number  - 1


 genr  trend    = NA        ' Trend = kotir_f(i) - kotir(i-1)
 genr  kotir_d  = d(kotir)  ' Incremento One-step en el movimiento de precio movement  - d(kotir)
'
 
' Calcular el modelo
 call  sub_model_2
'
' Calcula la gráfica de beneficios
 call sub_profit_factor

' Genera un archivo de resultados
 genr result   = 0
'
' Llena los resultados
 result(1)  = kotir_f(!number)    ' Previción One-step-ahead
 result(2)  = kotir_f_se(!number) ' Error de previsión One-step-aheadr
 result(3)  = trend(!number - 1)  ' Directión de la previsión
'-----------------------------------------------
' Devuelve el resultado a МТ4
'
 smpl      1  10
 write(t=txt,na=0,d=c,dates)  EViewsForecast.txt   result

'-----------------Fin del programa ------------
 smpl      1  !number
 save       work 
 close      @all
 exit
'
'-----------------------------------------------

Se supone que el número de programas principales es igual al número de subrutinas que contienen modelos (véase abajo); Esto se hace para simplificar trabajo.

El cambio de modelo requiere un cambio en dos líneas del programa principal relacionadas con el cambio en el nombre de la subrutina del modelo.

La subrutina que contiene el modelo (ecuación de regresión):

subroutine  sub_model_2

  cd
  wfselect             work
  smpl          1    !number    -  1
' Suavizar el 1er nivel utilizando cotización de filtro НР con el primer lambda
' y la generación de dos archivos:  
'      hp1     -  archivo de suavizado
'      p1_d    -   archivo del residual
  hpf(lambda    =  10)   kotir hp1   @hp1_d
'
'  4. Estimación de regresión eq02 que utiliza las siguientes series:
'        hp1  
'        hp1_d
  equation eq1.ls   kotir   hp1(-1)   hp1_d(-1) hp1_d(-2)


'  
' Ampliar la muestra para incluir el área de pronóstico
  smpl              1 !number
'
'  Realizar la previsión one-step-ahead y generando la serie de salida:
'    kotir_f     -  previsión
'    kotir_f_se  -  error de previsión 
  fit(p)            kotir_f   kotir_f_se

  save              work

endsub

El número de subrutinas será igual al número de modelos.

Para otro modelo, el nombre de la subrutina y, naturalmente, los nombres en el programa principal deberán cambiarse.

Subrutina que calcula parámetros de pérdidas y ganancias para el modelo:

' Subrutina para la estimación de los resultados de pronóstico
' Version of 27.09.2011 
' ----------------------------------------------------------------------------
' Comparar el incremento en el pronóstico con el incremento en la cotización,
' el programa calcula: 
'  factor de beneficio con respecto a los incrementos;
'   prentabilidad de la ecuación en el número de observaciones
'  factor de recuperación como una relación de ganancia en pips del drawdown maximo drawdown
' ----------------------------------------------------------------------------
subroutine sub_profit_factor

' Variables locales
   !profit = 0          ' Beneficio acumulado
   !lost = 0            ' Pérdida acumuladas 
   !profit_factor = 0   ' Factor de beneficior
   !i = 1               ' Indice de trabajo
   !n_profit = 0        ' Número de las operaciones con beneficios
   !n_lost = 0          ' Número de operaciones con pérdidas
   !n_p_l = 0           '
   !pr = 0              '  Ausencia de pérdidas consecutivass
   !prosadka = 0        ' Drawdown - acumulación de derrotas consecutivas
   !tek_prosadka = 0    ' Drawdown actual
   !tek_pr = 0          '  Número de operaciones con pérdidas

 cd
 wfselect       work
 smpl        1   !number

' Calcular la tendencia de cada barra
 for  !i  =  1  to  !number - 1
  trend(!i) = kotir_f(!i + 1) - kotir(!i)
 next

'  Calcular el beneficio si la previsión ha sido alcanzada
 for  !i      =  1   to  !number - 1
  if  trend(!i) * kotir_d(!i) > 0   then    ' la tendencia coincide con el incremento? - Yes
   !profit   = !profit + @abs(kotir_d(!i))  '  Acumulación del beneficio
   !n_profit = !n_profit +1                 '  Acumulación de operaciones con beneficios
   !tek_pr   = 0                            '  reiniciar las actuales pérdidas consecutivas a cero
   !tek_prosadka  =   0                     ' reiniciar el drawdown actual a cero
  endif
  if  trend(!i) * kotir_d(!i) <  0   then   ' la tendencia coincide con el incremento? - No
   !lost   = !lost + @abs(kotir_d(!i))      ' Acumulación de pérdidas
   !n_lost = !n_lost + 1                    ' Acumulación de operaciones con pérdidas

   !tek_pr = !tek_pr + 1                              ' incrementar el número de operaciones actuales pérdidas
   !tek_prosadka = !tek_prosadka + @abs(kotir_d(!i))  ' aumentar el drawdown actual
  endif

  '  Seleccionar las operaciones con pérdida máxima
  if  !tek_pr > !pr then
   !pr  = !tek_pr
  endif

  ' Seleccionar el drawdown máximo
  if  !tek_prosadka  > !prosadka  then
   !prosadka  = !tek_prosadka
  endif
 next

'   Bloqueo de división por cero
 if !lost = 0 then                 ' Sin operaciones con pérdida
  !profit_factor = 1000
 else
  !profit_factor = !profit / !lost  ' Factor de beneficio
 endif 
 
 if !n_lost = 0  then
  !n_p_l = !number      '  si las operaciones con pédida con cero, 
                        '  si las operaciones con beneficio son iguales al número de observaciones
 else
  !n_p_l =  !n_profit / !n_lost
 endif

 if !prosadka = 0  then
  !factor_reset = 1000
 else
  !factor_reset = !profit / !prosadka
 endif

' Crear una tabla de resultados si no existe
 if @isobject("tab_profit") = 0    then
  table(3,12)    tab_profit
  tab_profit.title Previsión del one-step-ahead después del final de la muestra con la rentabilidad más alta de la muestra

' Hacer que el encabezado del gráfico
  tab_profit.setfillcolor(1) yellow 
  tab_profit.setfillcolor(2) yellow
 
' Establecer las características de la columna
' columna 1
  setcolwidth(tab_profit,1,15)
  tab_profit(1,1)   = "Muestra"
  tab_profit(2,1)   = "Inicio"

' columna 2
  setcolwidth(tab_profit,2,15)
  tab_profit(1,2)   = "Muestra"
  tab_profit(2,2)   = "fin"

' columna 3
  setcolwidth(tab_profit,3,7)
   tab_profit(1,3)   = "Hechoa partir de"
  tab_profit(2,3)   = "fin "

' columna 4
  setcolwidth(tab_profit,4,7)
  tab_profit(1,4)   = "One-step"
  tab_profit(2,4)   = "previsión"

' columna 5
  setcolwidth(tab_profit,5,10)
  tab_profit(1,5)   = "Previsión"
  tab_profit(2,5)   = "error"

' columna 6
  setcolwidth(tab_profit,6,8)
  tab_profit(1,6)    =  "Beneficio del"
  tab_profit(2,6)    =  "muestra"

' columna 7
  setcolwidth(tab_profit,7,8)
  tab_profit(1,7)    =  "Pérdida de"
  tab_profit(2,7)    =  "muestra"

' columna 8
  setcolwidth(tab_profit,8,10)
  tab_profit(1,8)   = "Maximo"
  tab_profit(2,8)   = "drawdown"

' columna 9
  setcolwidth(tab_profit,9,8)
  tab_profit(1,9)   = "Cantidad de"
  tab_profit(2,9)    =  "Pérdida"

' columna 10
  setcolwidth(tab_profit,10,7)
  tab_profit(1,10)    =  "P / F en"
  tab_profit(2,10)    =  "pips"

' columna 11
  setcolwidth(tab_profit,11,8)
  tab_profit(1,11)    =  "P / F en"
  tab_profit(2,11)    =  "observaciones"


' columna 12
  setcolwidth(tab_profit,12,8)
  tab_profit(1,12)   = "Recuperación"
  tab_profit(2,12)   = "factor"
  tab_profit.setlines(R1C1:R2C12) +o +v 
 endif

 tab_profit.insertrow(3) 1
 tab_profit.setlines(R3C1:R3C12) +a +v +i

' Establecer el formato de salida de la tabla 
 tab_profit.setformat(R3C1:R3C1)   c.16
 tab_profit.setformat(R3C2:R3C2)   c.16
 tab_profit.setformat(R3C3:R3C3)   f.4
 tab_profit.setformat(R3C4:R3C4)   f.4
 tab_profit.setformat(R3C5:R3C5)   f.4
 tab_profit.setformat(R3C6:R3C6)   f.4
 tab_profit.setformat(R3C7:R3C7)   f.4
 tab_profit.setformat(R3C8:R3C8)   f.4
 tab_profit.setformat(R3C9:R3C9)   f.0
 tab_profit.setformat(R3C10:R3C10) f.2
 tab_profit.setformat(R3C11:R3C11)  f.2
 tab_profit.setformat(R3C12:R3C12) f.2

' Llenar la tabla con los resultados
 tab_profit(3 ,1) = date(1)
 tab_profit(3 ,2) = date(!number - 1)
 tab_profit(3 ,3) = kotir(!number - 1) 
 tab_profit(3 ,4) = kotir_f(!number - 1) 
 tab_profit(3 ,5) = kotir_f_se(!number - 1) 

 tab_profit(3 ,6) =  !profit
 tab_profit(3 ,7) =  !lost
 tab_profit(3 ,8) = !prosadka
 tab_profit(3 ,9) = !pr
 tab_profit(3,10) =  !profit_factor
 tab_profit(3,11) = !n_p_l
 tab_profit(3,12) = !factor_reset


' Save the table in the work file
 save        work
 show        tab_profit
 
endsub

Los resultados de los anteriores programas sencillos EViews para nuestra ecuación son los siguientes:


Tabla 3. Resultados de la estimación de rentabilidad EViews

El resultado es lamentable: las pérdidas son tres veces superiores al beneficio. Y esto es a pesar del valor de error de pronóstico optimista de 19 pips. El modelo necesita mejora, pero no lo voy a hacer aquí en el artículo. Seguiremos trabajando en él en el foro junto con todos aquellos que deseen tomar parte en el desarrollo de un modelo rentable.

Hasta ahora, se han analizado las cotizaciones de EURUSD_H1 utilizando herramientas EViews.

Sin embargo, parece ser muy tentador aplicar los resultados previstos en un Asesor Experto del terminal MetaTrader 4.

Vamos ahora a considerar el intercambio de datos entre el EViews y MetaTrader 4 y luego una vez más analizaremos los resultados utilizando un Asesor Experto del MetaTrader 4.


3. Intercambio de datos entre EViews y MetaTrader 4


En este artículo el intercambio de datos entre el EViews y MetaTrader 4 se implementa usando archivos TXT.

El algoritmo del intercambio parece ser como sigue:

  1. Asesor Experto del MetaTrader 4:

    • Generar el archivo de cotizaciones;
    • Starts EViews.
  2. EViews:

    • Se pone en marcha respondiendo a un comando del EA;
    • Ejecuta un programa de cálculo del pronóstico para elarchivo cotizaciones quotes.txt obtenido por el Asesor Experto;
    • Guarda los resultados del pronóstico en el archivo EViewsForecast.txt.
  3. Asesor Experto del MetaTrader 4:

    • Al término de la generación de los resultados de EViews, lee el archivo del pronóstico;
    • Decide entrar o salir de una posición.

Algunas palabras sobre la ubicación de los archivos.

Los archivos del terminal MetaTrader 4 se colocan en las carpetas estándar: el Asesor Experto en la carpeta \expert indicador (que no es necesario para la prueba) en la carpeta \expert\indicators. Todo esto se encuentra en el directorio de terminal. El Asesor Experto se instala junto con otros Asesores Expertos.

Los archivos de intercambio entre el Asesor Experto y EViews están situados en \experto\archivos durante la operación del Asesor Experto y en la carpeta \tester\files al probar el Asesor Experto.

El archivo enviado por el Asesor Experto a EViews se llama quotes. txt sin importar el símbolo seleccionado y el timeframe. Por lo tanto el Asesor Experto puede acoplarse a cualquier símbolo, mientras el paso del pronóstico deberá especificarse en los parámetros del EA en su inicio.

EViews devuelve el archivo llamado EVIEWSFORECAST.txt. El worf.wf1 de archivo de trabajo de EViews se coloca en el directorio del terminal.

Lo directorios especificados en los programas de EViews que se adjuntan al artículo probablemente no coincidirán con los directorios que tienes disponible en los equipos. He instalado estos programas en la carpeta raíz del disco. En EViews, tienes que conseguir manijarlo en el directorio predeterminado o especificar sus propios directorios (no usar los directorios predeterminados utilizados por EViews mismo).


4. Asesor Experto del MQL4

El algoritmo de funcionamiento del EA se simplifica al máximo:

  • El Asesor Experto se une al timeframe M1 de cualquier símbolo;
  • El pronóstico del paso en minutos se especifica en los parámetros del EA. El valor por defecto del prónóstico del paso es 60 minutos (Рќ1). Fijando el Asesor Experto en M1, tienes la oportunidad de visualizar mejor los resultados de las pruebas así como la gráfica de pruebas puede ser comprimida al cambiar a un timeframe más largo;
  • Para los efectos de la predicción en EViews, el Asesor Experto genera el archivo quotes.txt con el número de barras (observaciones) tal y como se especifica en los parámetros del EA;
  • Si el pronóstico es mayor que el precio actual, se abre una posición larga;
  • Si la previsión es inferior al precio actual, se abre una posición corta;
  • El Asesor Experto abre no más de una posición (sin agregar a la posición);
  • Independientemente de la previsión, se cierra la posición anterior y se abre una nuevo. El algoritmo para la apertura de posiciones coincide con el algoritmo del cálculo de ganancias/pérdidas en el programa en EViews;
  • El volumen de la posición que se abrirá es de 0.1 lote;
  • No se utilizan órdenes de Stop loos ni de take profit (se fijan en 100 pips aunque el EA tiene un código para colocar stops a intervalos de error según pronóstico);
  • Se dibuja un gráfico demostrando el valor según pronóstico y dos líneas en un intervalo de error según pronóstico estándar. Al ver el gráfico desde el analizador en timeframes más cortos que los del Asesor Experto, tenga en cuenta que la línea prevista se desplaza hacia atrás, es decir, el trazo del pronóstico es la prvisión en la que el precio actual debe llegar al final del período.

El Asesor Experto se fija en el timeframe M1 mientras que en el probador, el gráfico se ve mejor en M5.

El código fuente del EA de MQL4 para trading en EURUSD no se proporciona en este artículo debido a su volumen (alrededor de 600 líneas). Se puede encontrar en EvewsMT4.mq4 en el archivo EViews_MetaTrader_4.zip adjunto al artículo.


5. Resultados de las Pruebas del Asesor Experto

Ejecute el Asesor Experto en el probador con el timeframe de M1.

A continuación se muestran los parámetros de entrada.



Fig. 9. Parámetros de entrada del EA


Un fragmento del gráfico de prueba se demuestra a continuación:



Fig. 10. Prueba del EA en modo de visualización


Los resultados de las pruebas del Asesor Experto que utiliza proyecciones por delante de una hora (paso) se muestran a continuación.

Informe del Probador de Estrategias

EvewsMT4

Real (Build 406)

Símbolo

EURUSD (Euro vs US Dollar)

Time Frame

1 Minuto (M1) 2011.09.12 00:00 - 2011.09.16 21:59 (2011.09.12 - 2011.09.17)

Modelo

Cada tick (el modo más preciso basado en los time frames más cortos disponibles)

Parámetros

StepForecast=60; NumberBars=101; MultSE=2;






Barras en el historial

7948

Ticks del modelado

79777

Calidad del Modelado

25.00%

Errores del gráfico que no coinciden

0






Depósito inicial

10000.00





Beneficio neto

-202.10

Beneficio bruto

940.72

Pérdidas brutas

-1142.82

Factor de beneficio

0.82

Beneficio esperado

-1.73



Drawdown absoluto

326.15

Máximo drawdown

456.15 (4.50%)

Drawdown relativo

4.50% (456.15)


Trades totales

117

Posiciones cortas (ganadas %)

58 (51.72%)

Posiciones largas (% ganadas)

59 (45.76%)


Trades beneficiosos (% del total)

57 (48.72%)

Trades con pérdidas (% del total)

60 (51.28%)

Más grande

Trade con más ganancia

100.00

Trade con más pérdida

-79.00

Promedio

Trade con más ganancia

16.50

Trade con más pérdida

-19.05

Máximo

victorias consecutivas (ganancia en dinero)

6 (105.00)

pérdidas consecutivas (pérdida de dinero)

8 (-162.00)

Máximo

ganáncias consecutivas (cantidad)

166.00 (5)

pérdidas consecutiva (cantidad)

-162.00 (8)

Promedio

victorias consecutivas

2

pérdidas consecutivas

2




Número.

Tiempo

Tipo

Orden

Volumen

Precio

S / L

T / P

Beneficio

Balance

1

2011.09.12 01:00

sell

1

0.10

1.3609

1.3711

1.3509


2

2011.09.12 02:00

cerrar

1

0.10

1.3584

1.3711

1.3509

25.00

10025.00


Fig. 11. Resultados de las Pruebas del Asesor Experto


Los resultados son mejores que los obtenidos en EViews.

Tenga en cuenta que ese cálculo de los resultados de EViews y el probador es diferente en cuanto a la entrada de datos. EViews utiliza 118 barras y calcula el pronóstico a partir de la barra 3 a la izquierda como previsión de one-step-ahead y va gradualmente hacia el final del período de tiempo aumentando el número de barras usadas en la estimación de la ecuación de regresión.

El Asesor Experto cambia la ventana 118 barras y calcula el pronóstico sobre la barra 119, es decir, la ecuación de regresión siempre se estima en 118 barras puesto que EViews expande la ventana dentro de la muestra y el Asesor Experto cambia la ventana de ancho fijo.

El Asesor Experto nos ayuda a producir una gráfica de estimación del modelo extendido. Mientras que la gráfica anterior consistió en una sola línea, ahora contiene 117 líneas - una para cada fecha que se produjo el pronóstico.

La gráfica es como sigue:

Principio
de la muestra
Final
de la muestra
Hecho como de
final
One-step
pronóstico
Pronóstico
error
Beneficio
de la muestra
Pérdida
de la muestra
Máxima
drawdown
Cantidad
de las pérdidas
P/F en
pips
P/F en observaciones
Factor de recuperación
12.09.2011 0:00 16.09.2011 21:00 1,3791 1,3788 0,0019 0,0581 0,1531 0,0245 7 0,38 0,67 2,37
12.09.2011 0:00 16.09.2011 21:00 1,3791 1,3788 0,0019 0,0581 0,1531 0,0245 7 0,38 0,67 2,37
09.09.2011 21:00 16.09.2011 20:00 1,3784 1,3793 0,0019 0,0569 0,1619 0,0245 7 0,35 0,64 2,32
09.09.2011 20:00 16.09.2011 19:00 1,3794 1,3796 0,002 0,0596 0,1609 0,0245 7 0,37 0,67 2,43
09.09.2011 19:00 16.09.2011 18:00 1,3783 1,3782 0,0021 0,0642 0,1554 0,0245 7 0,41 0,69 2,62
09.09.2011 18:00 16.09.2011 17:00 1,3783 1,3806 0,002 0,0616 0,1606 0,0245 7 0,38 0,68 2,51
09.09.2011 17:00 16.09.2011 16:00 1,3829 1,3806 0,002 0,0642 0,1586 0,0245 7 0,4 0,71 2,62
09.09.2011 16:00 16.09.2011 15:00 1,3788 1,3793 0,002 0,0626 0,1565 0,0245 7 0,4 0,71 2,56
09.09.2011 15:00 16.09.2011 14:00 1,3798 1,38 0,0021 0,063 0,1633 0,0245 7 0,39 0,73 2,57
09.09.2011 14:00 16.09.2011 13:00 1,3808 1,381 0,0022 0,062 0,1656 0,0318 9 0,37 0,71 1,95
09.09.2011 13:00 16.09.2011 12:00 1,3809 1,3813 0,0021 0,0602 0,1679 0,0318 9 0,36 0,66 1,89
09.09.2011 12:00 16.09.2011 11:00 1,3792 1,3808 0,0021 0,0666 0,1613 0,0245 7 0,41 0,73 2,72
09.09.2011 11:00 16.09.2011 10:00 1,3795 1,3826 0,0021 0,0666 0,167 0,0245 7 0,4 0,73 2,72
09.09.2011 10:00 16.09.2011 9:00 1,3838 1,3847 0,0022 0,0652 0,1668 0,0318 9 0,39 0,71 2,05
09.09.2011 9:00 16.09.2011 8:00 1,3856 1,3854 0,0022 0,0675 0,165 0,0318 9 0,41 0,73 2,12
09.09.2011 8:00 16.09.2011 7:00 1,386 1,3856 0,0022 0,0671 0,1652 0,0318 9 0,41 0,71 2,11
09.09.2011 7:00 16.09.2011 6:00 1,3861 1,3857 0,0022 0,067 0,1663 0,0318 9 0,4 0,68 2,11
09.09.2011 6:00 16.09.2011 5:00 1,3852 1,3855 0,0022 0,0655 0,1681 0,0318 9 0,39 0,63 2,06
09.09.2011 5:00 16.09.2011 4:00 1,3844 1,3851 0,0022 0,0662 0,1674 0,0318 9 0,4 0,66 2,08
09.09.2011 4:00 16.09.2011 3:00 1,3848 1,3869 0,0022 0,0654 0,1683 0,0318 9 0,39 0,68 2,06
09.09.2011 3:00 16.09.2011 2:00 1,3879 1,3875 0,0022 0,0694 0,1624 0,0318 9 0,43 0,73 2,18
09.09.2011 2:00 16.09.2011 1:00 1,3865 1,3879 0,0022 0,0698 0,1634 0,0318 9 0,43 0,71 2,19
09.09.2011 1:00 16.09.2011 0:00 1,3881 1,3883 0,0022 0,0726 0,1604 0,0245 7 0,45 0,76 2,96
09.09.2011 0:00 15.09.2011 23:00 1,3876 1,3882 0,0022 0,0721 0,162 0,0245 7 0,45 0,73 2,94
08.09.2011 23:00 15.09.2011 22:00 1,3885 1,3884 0,0022 0,0718 0,1614 0,0245 7 0,44 0,72 2,93
08.09.2011 22:00 15.09.2011 21:00 1,3888 1,3883 0,0022 0,0737 0,1597 0,0245 7 0,46 0,77 3,01
08.09.2011 21:00 15.09.2011 20:00 1,3885 1,3874 0,0022 0,0729 0,1604 0,0318 9 0,45 0,74 2,29
08.09.2011 20:00 15.09.2011 19:00 1,3867 1,386 0,0022 0,0721 0,1604 0,0318 9 0,45 0,74 2,27
08.09.2011 19:00 15.09.2011 18:00 1,3856 1,3834 0,0022 0,0721 0,1628 0,0318 9 0,44 0,72 2,27
08.09.2011 18:00 15.09.2011 17:00 1,385 1,3861 0,0023 0,0702 0,1651 0,0318 9 0,43 0,72 2,21
08.09.2011 17:00 15.09.2011 16:00 1,3885 1,3824 0,0023 0,0739 0,1638 0,0245 7 0,45 0,72 3,02
08.09.2011 16:00 15.09.2011 15:00 1,3773 1,3784 0,0021 0,0719 0,1556 0,0318 9 0,46 0,72 2,26
08.09.2011 15:00 15.09.2011 14:00 1,3795 1,3794 0,0021 0,0726 0,1537 0,0318 9 0,47 0,72 2,28
08.09.2011 14:00 15.09.2011 13:00 1,3814 1,3792 0,0021 0,0736 0,1564 0,0318 9 0,47 0,74 2,31
08.09.2011 13:00 15.09.2011 12:00 1,3802 1,3764 0,0021 0,0712 0,159 0,0318 9 0,45 0,74 2,24
08.09.2011 12:00 15.09.2011 11:00 1,3769 1,3753 0,0021 0,0719 0,1568 0,0318 9 0,46 0,72 2,26
08.09.2011 11:00 15.09.2011 10:00 1,3765 1,3732 0,0021 0,0721 0,1564 0,0318 9 0,46 0,74 2,27
08.09.2011 10:00 15.09.2011 9:00 1,3722 1,3718 0,0021 0,0716 0,1538 0,0318 9 0,47 0,72 2,25
08.09.2011 8:00 15.09.2011 7:00 1,371 1,3716 0,0021 0,0729 0,1542 0,0318 9 0,47 0,74 2,29
08.09.2011 8:00 15.09.2011 7:00 1,371 1,3716 0,0021 0,0729 0,1542 0,0318 9 0,47 0,74 2,29
08.09.2011 7:00 15.09.2011 6:00 1,3723 1,3727 0,0021 0,0716 0,1547 0,0318 9 0,46 0,72 2,25
08.09.2011 6:00 15.09.2011 5:00 1,3726 1,3725 0,0021 0,0711 0,1564 0,0318 9 0,45 0,69 2,24
08.09.2011 5:00 15.09.2011 4:00 1,3719 1,3731 0,0021 0,0711 0,1563 0,0318 9 0,45 0,69 2,24
08.09.2011 4:00 15.09.2011 3:00 1,374 1,3744 0,0021 0,0713 0,1547 0,0318 9 0,46 0,69 2,24
08.09.2011 3:00 15.09.2011 2:00 1,3748 1,3747 0,0021 0,0705 0,1547 0,0318 9 0,46 0,68 2,22
08.09.2011 2:00 15.09.2011 1:00 1,3743 1,3742 0,0021 0,0715 0,1544 0,0318 9 0,46 0,7 2,25
08.09.2011 1:00 15.09.2011 0:00 1,3738 1,3743 0,0021 0,0714 0,1544 0,0318 9 0,46 0,7 2,25
08.09.2011 0:00 14.09.2011 23:00 1,375 1,3743 0,0021 0,0724 0,1532 0,0318 9 0,47 0,73 2,28
07.09.2011 23:00 14.09.2011 22:00 1,375 1,3736 0,0021 0,0727 0,1532 0,0318 9 0,47 0,74 2,29
07.09.2011 22:00 14.09.2011 21:00 1,3751 1,3735 0,0021 0,0734 0,1532 0,0318 9 0,48 0,74 2,31
07.09.2011 21:00 14.09.2011 20:00 1,3748 1,3716 0,0021 0,0722 0,1555 0,0318 9 0,46 0,72 2,27
07.09.2011 20:00 14.09.2011 19:00 1,3714 1,3712 0,0021 0,0812 0,145 0,0189 6 0,56 0,74 4,3
07.09.2011 19:00 14.09.2011 18:00 1,371 1,3697 0,0021 0,0692 0,1577 0,0318 9 0,44 0,69 2,18
07.09.2011 18:00 14.09.2011 17:00 1,3673 1,369 0,0021 0,0695 0,154 0,0318 9 0,45 0,72 2,19
07.09.2011 17:00 14.09.2011 16:00 1,3687 1,3693 0,0021 0,0695 0,1548 0,0318 9 0,45 0,72 2,19
07.09.2011 16:00 14.09.2011 15:00 1,3704 1,3704 0,0021 0,066 0,1591 0,0318 11 0,41 0,69 2,08
07.09.2011 15:00 14.09.2011 14:00 1,373 1,37 0,002 0,066 0,1577 0,0318 10 0,42 0,69 2,08
07.09.2011 14:00 14.09.2011 13:00 1,3712 1,3681 0,002 0,066 0,1562 0,0318 9 0,42 0,69 2,08
07.09.2011 13:00 14.09.2011 12:00 1,3685 1,3653 0,002 0,0665 0,1534 0,0318 9 0,43 0,74 2,09
07.09.2011 12:00 14.09.2011 11:00 1,3655 1,3646 0,002 0,0673 0,1504 0,0318 9 0,45 0,77 2,12
07.09.2011 11:00 14.09.2011 10:00 1,3656 1,3634 0,002 0,0709 0,15 0,0318 9 0,47 0,77 2,23
07.09.2011 10:00 14.09.2011 9:00 1,3625 1,3625 0,002 0,0725 0,1461 0,0318 9 0,5 0,83 2,28
07.09.2011 9:00 14.09.2011 8:00 1,3631 1,3638 0,002 0,0719 0,1465 0,0318 9 0,49 0,8 2,26
07.09.2011 8:00 14.09.2011 7:00 1,3641 1,3643 0,002 0,0707 0,1481 0,0318 9 0,48 0,77 2,22
07.09.2011 7:00 14.09.2011 6:00 1,3635 1,3648 0,002 0,0724 0,1481 0,0318 9 0,49 0,8 2,28
07.09.2011 6:00 14.09.2011 5:00 1,3647 1,3656 0,002 0,0724 0,1476 0,0318 9 0,49 0,8 2,28
07.09.2011 5:00 14.09.2011 4:00 1,3665 1,3676 0,002 0,0667 0,1536 0,0318 9 0,43 0,72 2,1
07.09.2011 4:00 14.09.2011 3:00 1,3694 1,3683 0,002 0,0675 0,1504 0,0318 9 0,45 0,74 2,12
07.09.2011 3:00 14.09.2011 2:00 1,3682 1,3682 0,002 0,0672 0,1498 0,0318 9 0,45 0,74 2,11
07.09.2011 2:00 14.09.2011 1:00 1,3684 1,3686 0,002 0,067 0,1512 0,0318 9 0,44 0,72 2,11
07.09.2011 1:00 14.09.2011 0:00 1,3679 1,3686 0,002 0,067 0,1514 0,0318 9 0,44 0,72 2,11
07.09.2011 0:00 13.09.2011 23:00 1,3678 1,3691 0,002 0,0679 0,1507 0,0318 9 0,45 0,74 2,14
06.09.2011 23:00 13.09.2011 22:00 1,3692 1,3698 0,002 0,066 0,1517 0,0318 9 0,44 0,69 2,08
06.09.2011 22:00 13.09.2011 21:00 1,3708 1,3705 0,002 0,0652 0,1512 0,0318 9 0,43 0,69 2,05
06.09.2011 21:00 13.09.2011 20:00 1,3719 1,3709 0,002 0,0652 0,1512 0,0318 9 0,43 0,69 2,05
06.09.2011 20:00 13.09.2011 19:00 1,371 1,3691 0,002 0,0652 0,1517 0,0318 9 0,43 0,69 2,05
06.09.2011 19:00 13.09.2011 18:00 1,3677 1,3669 0,002 0,0666 0,1485 0,0318 9 0,45 0,72 2,09
06.09.2011 18:00 13.09.2011 17:00 1,3678 1,3677 0,002 0,0666 0,149 0,0318 9 0,45 0,72 2,09
06.09.2011 17:00 13.09.2011 16:00 1,3698 1,3659 0,002 0,0625 0,1555 0,0318 9 0,4 0,64 1,97
06.09.2011 16:00 13.09.2011 15:00 1,3658 1,3643 0,002 0,065 0,1513 0,0318 9 0,43 0,72 2,04
06.09.2011 15:00 13.09.2011 14:00 1,3665 1,3636 0,002 0,0643 0,1527 0,0318 9 0,42 0,69 2,02
06.09.2011 14:00 13.09.2011 13:00 1,3639 1,3619 0,002 0,0659 0,1552 0,0318 9 0,42 0,74 2,07
06.09.2011 13:00 13.09.2011 12:00 1,3617 1,3628 0,0021 0,0824 0,1432 0,0189 6 0,58 0,8 4,36
06.09.2011 12:00 13.09.2011 11:00 1,3616 1,361 0,0021 0,0824 0,1435 0,0189 6 0,57 0,8 4,36
06.09.2011 11:00 13.09.2011 10:00 1,3582 1,3631 0,002 0,0795 0,1435 0,0189 6 0,55 0,8 4,21
06.09.2011 10:00 13.09.2011 9:00 1,3654 1,3656 0,002 0,077 0,146 0,0189 6 0,53 0,74 4,07
06.09.2011 9:00 13.09.2011 8:00 1,3655 1,3664 0,0021 0,0813 0,1442 0,0189 6 0,56 0,77 4,3
06.09.2011 8:00 13.09.2011 7:00 1,3679 1,3673 0,0022 0,0834 0,1435 0,0189 6 0,58 0,77 4,41
06.09.2011 7:00 13.09.2011 6:00 1,3685 1,3668 0,0022 0,0828 0,1448 0,0189 6 0,57 0,74 4,38
06.09.2011 6:00 13.09.2011 5:00 1,3676 1,3669 0,0022 0,0879 0,1406 0,0189 6 0,63 0,85 4,65
06.09.2011 5:00 13.09.2011 4:00 1,3669 1,3653 0,0022 0,0821 0,1458 0,0189 6 0,56 0,8 4,34
06.09.2011 4:00 13.09.2011 3:00 1,3635 1,3639 0,0022 0,0821 0,1428 0,0189 6 0,57 0,8 4,34
06.09.2011 3:00 13.09.2011 2:00 1,3637 1,3646 0,0022 0,0821 0,1428 0,0189 6 0,57 0,8 4,34
06.09.2011 2:00 13.09.2011 1:00 1,3657 1,364 0,0022 0,0825 0,1407 0,0189 6 0,59 0,8 4,37
06.09.2011 1:00 13.09.2011 0:00 1,366 1,3639 0,0022 0,085 0,1384 0,0141 6 0,61 0,83 6,03
06.09.2011 0:00 12.09.2011 23:00 1,3678 1,3655 0,0022 0,083 0,1416 0,0141 6 0,59 0,8 5,89
05.09.2011 23:00 12.09.2011 22:00 1,366 1,3613 0,0022 0,0806 0,1424 0,0123 6 0,57 0,8 6,55
05.09.2011 22:00 12.09.2011 21:00 1,3572 1,3585 0,002 0,0731 0,1414 0,0152 6 0,52 0,77 4,81
05.09.2011 21:00 12.09.2011 20:00 1,3576 1,3601 0,002 0,0714 0,1432 0,0152 6 0,5 0,74 4,7
05.09.2011 20:00 12.09.2011 19:00 1,3607 1,3637 0,0021 0,0712 0,1406 0,0129 6 0,51 0,74 5,52
05.09.2011 19:00 12.09.2011 18:00 1,3632 1,3619 0,0021 0,0712 0,1405 0,0129 6 0,51 0,74 5,52
05.09.2011 18:00 12.09.2011 17:00 1,3609 1,3641 0,0021 0,073 0,1378 0,0129 6 0,53 0,77 5,66
05.09.2011 17:00 12.09.2011 16:00 1,3684 1,3659 0,002 0,0713 0,1334 0,0083 6 0,53 0,74 8,59
05.09.2011 16:00 12.09.2011 15:00 1,3665 1,3636 0,002 0,0727 0,1343 0,0083 6 0,54 0,77 8,76
05.09.2011 15:00 12.09.2011 14:00 1,363 1,3601 0,002 0,072 0,1348 0,0083 6 0,53 0,77 8,67
05.09.2011 14:00 12.09.2011 13:00 1,3603 1,3594 0,002 0,0752 0,1304 0,0083 6 0,58 0,83 9,06
05.09.2011 13:00 12.09.2011 12:00 1,3623 1,3589 0,002 0,0742 0,1304 0,0083 6 0,57 0,83 8,94
05.09.2011 12:00 12.09.2011 11:00 1,3597 1,3561 0,0019 0,0737 0,1291 0,0083 6 0,57 0,8 8,88
05.09.2011 11:00 12.09.2011 10:00 1,3561 1,3551 0,0019 0,0729 0,1275 0,0083 6 0,57 0,8 8,78
05.09.2011 10:00 12.09.2011 9:00 1,3556 1,3552 0,002 0,072 0,1283 0,0083 6 0,56 0,77 8,67
05.09.2011 9:00 12.09.2011 8:00 1,3536 1,3532 0,002 0,072 0,1271 0,0083 6 0,57 0,77 8,67
05.09.2011 8:00 12.09.2011 7:00 1,3519 1,3554 0,0019 0,0703 0,1288 0,0083 6 0,55 0,74 8,47
05.09.2011 7:00 12.09.2011 6:00 1,3583 1,3579 0,0019 0,072 0,1224 0,0083 6 0,59 0,77 8,67
05.09.2011 6:00 12.09.2011 5:00 1,3591 1,3582 0,0019 0,0715 0,1224 0,0083 6 0,58 0,77 8,61
05.09.2011 5:00 12.09.2011 4:00 1,3593 1,3589 0,0019 0,0713 0,1224 0,0083 6 0,58 0,75 8,59
05.09.2011 3:00 12.09.2011 2:00 1,3583 1,361 0,0019 0,0746 0,1192 0,0083 6 0,63 0,78 8,99


Tabla 4. Resultados de la prueba en EViews


La tabla sugiere que nuestro modelo (tan primitivo e inacabado) es prácticamente imposible. Necesita mejora.

Vamos a trazar las tablas de las dos columnas: P/F en pips y P/F en observaciones.


Fig. 12. Modelo de gráficas de factor de beneficio en la muestra de 118 barras


Este gráfico representa la dependencia de los factores de ganancia en número de barras en el análisis. Hay una evidente tendencia alcista.

Comprobemos los resultados en la muestra de 238 barras. El gráfico dibujado es como sigue:


Fig. 13. Modelo gráfico por factor beneficio de la muestra de 236 barras


El hecho de que se diferencian las gráficas del factor de beneficio sugiere que el modelo es inestable.


Conclusión

El artículo ha abordado el uso de pronósticos por one-step-ahead elaborados en EViews para el desarrollo del Asesor Experto del MetaTrader 4.

El resultado negativo que hemos obtenido indica que la construcción de un modelo en EViews es bastante complicado y sin embargo parece ser más potencialmente productivo, de desarrollo intuitivo de Asesores Expertos.


Traducción del ruso hecha por MetaQuotes Software Corp.
Artículo original: https://www.mql5.com/ru/articles/1345

Archivos adjuntos |
Uso práctico del servidor privado virtual (VPS) para el autotrading Uso práctico del servidor privado virtual (VPS) para el autotrading

Autotrading usando VPS. Este artículo va dirigido excepcionalmente a los autotraders y seguidores del autotrading.

Utilizando redes neuronales en MetaTrader Utilizando redes neuronales en MetaTrader

En el artículo se muestra la aplicación de las redes neuronales en los programas de MQL, usando la biblioteca de libre difusión FANN. Usando como ejemplo una estrategia que utiliza el indicador MACD se ha construido un experto que usa el filtrado con red neuronal de las operaciones. Dicho filtrado ha mejorado las características del sistema comercial.

Técnica (Optimización) de Prueba y algunos criterios para la selección de los parámetros del Asesor Experto Técnica (Optimización) de Prueba y algunos criterios para la selección de los parámetros del Asesor Experto

No hay ningún problema en encontrar el Santo Grial de la prueba, sin embargo es mucho más difícil deshacerse de él. Este artículo aborda la selección de parámetros de funcionamiento del EA un con grupo automatizado de procesos de optimización y prueba de resultados con máxima utilización de las capacidades de rendimiento del Terminal y mínima carga del usuario final.

La Regla de Oro de los Traders La Regla de Oro de los Traders

Con el fin de obtener ganancias basadas en altas expectativas, debemos entender tres principios básicos del buen trading: 1) conocer el riesgo al entrar en el mercado; 2) cortar sus pérdidas temprano y deje ejecutar su beneficio; 3) conocer la expectativa de su sistema – probar y ajustar regularmente. Este artículo proporciona un código programa que arrastra posiciones abiertas y se actualiza con el segundo principio de oro, ya que permite ganancias en el más alto nivel posible.