Descargar MetaTrader 5

Patrones disponibles al comerciar con cestas de divisas. Parte III

24 agosto 2017, 10:41
Andrei Novichkov
0
724

Introducción

Está usted leyendo el tercer y, con toda probabilidad, último artículo de la serie dedicada a este tema. Ya hemos estudiado y analizado los patrones principales y secundarios, además de diversas tácticas de aplicación. Entre nuestras tareas no se ha incluido la descripción de metodologías complejas y ambiguas como son el análisis de ondas o el VSA, pero, como a mí me parece, el material expuesto es más que suficiente para tener un primer contacto con el comercio con cestas de parejas de divisas. Así, en este artículo intentaremos trazar una línea definitiva bajo los patrones de investigación que surgen al aplicar los osciladores combinados y los indicadores de tendencia. Vamos a hablar precisamente de los indicadores de tendencia.


El índice de la divisa de la cesta como datos fuente.

En los comentarios a uno de los artículos anteriores se expuso una idea muy prometedora: en lugar de obtener los valores de los indicadores para cada pareja de divisas de la cesta y encontrar el valor promedio, sería mejor aplicar la fórmula de un indicador técnico a los datos de un indicador combinado, el índice de la divisa de la cesta. Voy a aclarar esta idea tan larga. Por ejemplo, para calcular los datos del WPR combinado, hemos obtenido los valores del indicador técnico WPR estándar sobre cada pareja de divisas de la cesta. A continuacón, a partir  de los valores obtenidos, hemos calculado a media aritmética (en general, podemos usar también la media geométrica). El resultado ha sido un WPR combinado que muestra el comportamiento, no de parejas de divisas de la cesta aisladas, sino de una divisa: "la divisa de la cesta de parejas de divisas".

Aquí proponemos un método alternativo para obtener los mismos datos. Anteriormente ya discutimos qué es el índice de la divisa de la cesta y cómo calcularlo. Recordemos: se trata del precio medio geométrico de todas las parejas de la cesta, un "precio purificado" de la divisa de la cesta. Así, proponemos obtener los valores del WPR combinado aplicando las fórmulas de cálculo del WPR estándar al gráfico del índice de la divisa de la cesta. Por consiguiente, para obtener los valores del RSI combinado o del STOCH combinado, deberemos usar sus fórmulas de cálculo. La idea es muy interesante, vamos a ponerla a prueba. Si esta presuposición es cierta, obtendremos unos valores de los indicadores combinados parecidos a aquellos que se obtienen tras usar la metodología descrita en los artículos anteriores.

Para comenzar con este trabajo, necesitaremos dos indicadores cuyo código se puede encontrar adjunto al artículo en el directorio wpr.zip:

  • testWPR, presentado en uno de los artículos pasados. Usamos en él el conjunto de parejas de divisas para la cesta de USD: EURUSD, GBPUSD, AUDUSD, NZDUSD, USDCAD, USDCHF y USDJPY. Lo utilizaremos como referencia para la comparación.
  • Código del indicador técnico WPR. Se ha tomado de la Biblioteca de código abierto en la comunidad. Usaremos fragmentos suyos en el nuevo indicador para demostrar las metodologías que nos interesan. 

Como resultado del proyecto, obtendremos este indicador de prueba:

//+------------------------------------------------------------------+
//|                                                testIndex+WPR.mq5 |
//|                                   2016 MetaQuotes Software Corp. |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_separate_window

#property indicator_buffers 2
#property indicator_plots   1


input color   clrWPR = clrGreen;
input int wprperiod  = 14; 

double ind[],ma[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+

int OnInit()
  {
//--- indicator buffers mapping
     
  IndicatorSetDouble(INDICATOR_MINIMUM,-100);
  IndicatorSetDouble(INDICATOR_MAXIMUM, 0);   
      
   ArraySetAsSeries(ma,true);   
   SetIndexBuffer(0,ma);
   PlotIndexSetInteger(0, PLOT_DRAW_TYPE, DRAW_LINE           ); 
   PlotIndexSetInteger(0, PLOT_LINE_STYLE, STYLE_SOLID            ); 
   PlotIndexSetInteger(0, PLOT_LINE_WIDTH, 1            ); 
   PlotIndexSetInteger(0, PLOT_LINE_COLOR, clrWPR            ); 
   PlotIndexSetString (0, PLOT_LABEL, "_tstdistance_MA" );       
   
   ArraySetAsSeries(ind,true);
   SetIndexBuffer(1,ind , INDICATOR_CALCULATIONS);       
//---
   return(INIT_SUCCEEDED);
  }
  
string pair[]={"EURUSD","GBPUSD","AUDUSD","NZDUSD","USDCAD","USDCHF","USDJPY"};
bool bDirect[]={false,false,false,false,true,true,true};
int iCount=7;

//Calc. index  
double GetIndex(int shift) 
  {
   double res=1.0,t;
   double dBuf[1];
   for(int i=0; i<iCount; i++) 
     {
      t=CopyClose(pair[i],PERIOD_CURRENT,shift,1,dBuf);
      if(!bDirect[i]) dBuf[0]=1/dBuf[0];
      res*=dBuf[0];
     }//end for (int i = 0; i < iCount; i++)
   return (NormalizeDouble(MathPow (res, 1/(double)iCount), _Digits) );  
  }  
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
double HH,LL;

int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
  
   if(prev_calculated==0 || rates_total>prev_calculated+1) 
     {
      int rt=rates_total;
      for(int i=1; i<rt; i++) 
        {
         ind[i]= GetIndex(i);
        }
      rt -= wprperiod;  
      for (int i = 1; i< rt; i++) 
        {
         ma[i] = GetMA(ind, i, wprperiod, _Digits);
        }        
     }
   else 
     {
         ind[0] = GetIndex(0);
         ma[0]  = GetMA(ind, 0, wprperiod, _Digits);
     }
   return(rates_total);
  }

//Calc. WPR
double GetMA(const double& arr[], int index , int period, int digit) {
   double m = 0;
   HH = arr[ArrayMaximum(arr, index, period)];
   LL = arr[ArrayMinimum(arr, index, period)];   
   m = -100 * (HH - arr[index]) / (HH - LL);
   return (NormalizeDouble((m + 50) * 2, _Digits));
}

Lo aplicaremos a la pareja de divisas EURUSD junto con el indicador de referencia testWPRusd. El resultado es el siguiente:


Aquí, en la primera subventana tenemos la curva de nuestro indicador de prueba, mientras que en la segunda tenemos la curva del indicador de referencia. El resultado es inesperadamente decepcionante. Podríamos esperar algo mejor, pero tendremos que analizar lo que hemos obtenido. Lo que si podemos decir de inmediato es que el indicador de prueba no es apto para su utilización. Salta a la vista que el indicador de prueba alcanza constantemente los valores máximos posibles. En este caso, además, en el mercado no sucede nada especial y el precio se comporta de forma bastante tranquila. Como consecuencia, los gradientes de cambio de los datos mostrados por el indicador son injustificablemente altos. También cabe señalar que las posiciones de los extremos en los indicadores de prueba y de referencia coinciden muy bien. ¿Por qué hemos llegado a una buena coincidencia en lo que respecta a la posición de los extremos, pero tenemos esos valores tan extraños? La respuesta es sencilla y se oculta en la fórmula de cálculo del indicador WPR:

R% = - ((H – C)/(H – L)) x 100;

donde:

  • C: precio de cierre;
  • L: precio mínimo en cierto periodo;
  • H: precio máximo en cierto periodo.

Pero nosotros no disponemos de matrices de precios máximos y mínimos. El indicador de prueba calcula sus valores usando los valores del índice de la divisa de la cesta, y el índice, a su vez, se calcula según los precios de cierre. Según este motivo, puramente técnico, obtenemos tales extremos frecuentes del indicador de prueba. Eso significa que no podremos afirmar con certeza que la propia metodología sea incorrecta o que dé un margen de error demasiado grande. Al contrario, la concidencia de las posiciones de los extremos habla de lo opuesto. ¿Es posible eliminar los obtáculos que surgen de forma imprevista?


Dibujado del indicador combinado del índice de la divisa de la cesta en forma de velas

Por suepuesto que es posible. Para ello, los datos de entrada, es decir, el índice de la divisa de la cesta, no los debemos obtener en forma de curva según los cierres, sino en forma de velas japonesas. Entonces obtendremos todas las matrices necesarias y podremos realizar los cálculos no solo de WPR, sino también de los otros. En esencia, al disponer del gráfico del índice de la divisa de la cesta en forma de velas, el tráder consigue un gráfico de precio como los que está acostumbrado a ver, pero no se tratará del gráfico de una pareja, sino de un gráfico de una sola divisa. Teniendo mucho cuidado, intentaremos suponer que se tratará del gráfico de precio de la divisa de la cesta con respecto a todas las divisas que componen la cesta.

Desde un punto de vista puramente técnico, no resulta complicado conseguir un gráfico semejante. Recordemos que el "índice del dólar" clásico se representa con mucha frecuencia precisamente en forma de vela, y no con una línea según el cierre. ¿De qué forma puede conseguir el desarrollador un resultado análogo? El indicador de prueba ya disponible realiza cálculos usando los valores del precio de cierre de la vela del marco temporal actual. Si se complementa el indicador con un cálculo exactamente igual, utilizando el precio de apertura de la vela del marco temporal actual, el desarrollador conseguirá directamente los dos valores que definen el cuerpo de la vela que necesita. Pero las buenas noticias acaban aquí. No vamos a conseguir definir de esta forma los Low y High de la vela del índice de la divisa de la cesta. Si el desarrollador simplemente calcula la media aritmética o la media geométrica de los High y Low de las velas de las parejas de divisas de la cesta, el valor resultante de ninguna forma determinará con precisión los High y Low de la vela de la divisa de la cesta. La causa es obvia: no es en absoluto obligatorio que los Low y High de las parejas de divisas individuales de la cesta aparezcan al mismo tiempo. No cabe duda de que esto es posible, pero no está ni mucho menos garantizado. El desarrollador puede utilizar este método por su cuenta y riesgo. En este caso, alcanzará su objetivo y obtendrá todos los valores necesarios para dibujar las velas, pero con un margen de error que ya de antemano no se somete a valoración alguna. Para lograr un resultado cuya veracidad esté comprobada, deberemos recurrir a los cálculos con ticks, o en caso extremo, por minutos. Estos cálculos suponen una carga considerable para el terminal, por eso es mejor sacarlos a una aplicación aparte.

Nosotros no vamos a hacer nada semejante, explicaré por qué un poco más abajo. Por el momento, podemos sacar la conclusión de que la metodología evaluada no conviene para los indicadores combinados basados en WPR y tampoco para el resto de los indicadores combinados, que usan para los cálculos no solo las matrices Open y Close, sino también Low con High. Para otros sigue siendo interesante, de ello hablaremos más abajo.


Instrumentos basados en el índice de la divisa de la cesta

Ya hemos analizado en artículos anteriores ejemplos sobre semejante aplicación del índice de la divisa de la cesta. Me refiero a la aplicación de la media móvil al gráfico del índice de la divisa de la cesta. La media móvil es un instrumento útil, y su aplicación nos ha dado un patrón: el punto de cruce de la media móvil con el gráfico del índice de la divisa de la cesta. Lo hemos analizado con anterioridad. Vamos a ver qué otros instrumentos podemos usar si tomamos en calidad de datos fuente el índice de la divisa de la cesta. Es obvio que en un artículo de tamaño limitado resulta imposible cubrir todas las herramientas existentes, pero podemos esbozar las perspectivas.

Recordemos que el gráfico del índice de la divisa de la cesta es un gráfico de precio. Trataremos de determinar si funcionan con él los principales instrumentos comerciales: los niveles de apoyo y resistencia, los canales y los niveles de Fibonacci. Debemos tener en cuenta el hecho de que de vez en cuando se publican artículos sobre el uso de estas herramientas en los gráficos de los indicadores. Nosotros también intentaremos usarlas. Para ello, ubicaremos en el gráfico EURUSD dos indicadores combinados del índice de la divisa de la cesta para USD y EUR (podrá encontrarlos en el archivo adjunto index.zip) y ejecutaremos ciertas construcciones estándar:


Hemos ubicado en ambos gráficos los instrumentos gráficos estándar. Por supuesto, esta variante no es la única posible, pero es totalmente real:

  • Fibonacci, canal ascendente y nivel horizontal en EUR
  • Dos líneas formando una cuña y un nivel horizontal en USD

Destacaremos los puntos interesantes con rectángulos y líneas verticales y veremos cómo se comporta el precio de la pareja EURUSD en la zona de estos puntos.

  1. Retroceso desde límite superior del canal y el nivel de Fibonacci en el índice EUR. Al índice USD no le sucede nada especial: experimenta una ligera disminución. Podemos esperar movimientos en la zona de sell en el gráfico principal, lo que podemos observar luego en realidad.
  2. Otro retroceso desde el límite superior del canal de EUR. Podríamos esperar un movimiento posterior hacia la zona sell, pero esto no sucede, ya que hay un movimiento del índice USD en las cercanías del límite superior de la cuña. De hecho, observamos un movimiento lateral con tendencia buy.
  3. Sin embargo, como continuación del punto №2, aquí tiene lugar la ruptura del canal del índice EUR hacia abajo, lo que combina con el punto №5 de retroceso desde el límite inferior de la cuña de USD. Se observa un movimiento totalmente lógico de sell en el gráfico principal.
  4. Retroceso desde el nivel horizontal de EUR, que coincide con la ruptura de la cuña del índice USD en el punto №7. Al principio, el retroceso desde EUR es más intenso, y el precio va hacia sell, pero después la ruptura de la cuña "supera" y se observa un movimiento hacia buy. 

Podemos sacar algunas conclusiones preliminares. Por supuesto, aquí analizamos un solo episodio dentro de una pareja de divisas compleja, por lo que nuestro razonamiento no puede aspirar a ser una verdad absoluta: para ello serían necesarias observaciones a largo plazo para los diferentes marcos temporales y las diferentes parejas de divisas. Sin embargo, lo que vemos es bastante alentador. En cualquier caso, en el gráfico del indicador combinado del índice de la pareja de divisas se pueden realizar las construcciones gráficas habituales. Los patrones obtenidos durante estas construcciones se someten a una regla conocida:

  • Cualquier señal debe ser confirmada por otras señales, y deberán ser varias.
  • El procesamiento con el precio de los patrones obtenidos posee un carácter bastante más inercial, en comparación con la aplicicación estándar.
  • Conclusión final. Los patrones obtenidos de esta forma tienen un carácter secundario, de confirmación. Pueden ser tenidos en cuenta para la búsqueda de puntos de entrada y, posiblemente, al colocar los stop-loss. En otras palabras: estos patrones son sin duda útiles, pero juegan un papel auxiliar.

Vamos a analizar la situación desde otro punto de vista. Recordemos que el índice de la divisa de la cesta muestra el estado de todas las parejas de divisas con respecto a la divisa de la cesta. Por eso, los puntos marcados por nostros en el gráfico del índice de EUR se refieren no solo a EURUSD, sino también al resto de parejas de divisas que componen la cesta de EUR. Y nosotros hemos sacado las conclusiones referentes solo a una de ellas. Es posible que el motivo del "carácter secundario" de los patrones obtenidos resida precisamente en aquello de lo que quiere deshacerse el tráder al usar las parejas de divisas, concretamente, en la influencia de la segunda divisa (en este caso, USD)?  Nuestra propuesta es fácil de comprobar, basta con inspeccionar cómo le van las cosas a las otras parejas de divisas. Como ejemplo, tomaremos el primer punto que veamos. Por ejemplo, el punto №2, 2015.09.18 00:00. En este punto podemos suponer que hay una tendencia general en sell, puesto que ha tenido lugar un retroceso desde el límite superior del canal, y transcurrido un tiempo, ha sucedido la ruptura del canal hacia abajo. El punto que nos interesa se ha hallado en el gráfico del índice EUR, por eso tomaremos todas las parejas de divisas que entran en la cesta de EUR para ver qué ha sucedido con el precio durante este tiempo:


¡Nos encontramos con un resultado muy interesante y alentador! En las imágenes, con una línea vertical azul se ha señalizado la marca temporal que nos interesa. Nuestros pronósticos se han cumplido en la mayoría de las divisas. Si el tráder hubiera entrado en el mercado usando el patrón analizado (tan débil, en esencia), habría logrado beneficios. El stop-loss en ciertas parejas también es posible. Estoy hablando de EURAUD y EURGBP y, en menor medida, de EURUSD. En el resto de las parejas, el tráder habría obtenido beneficios. En este caso, ha demostrado su valía el principio elemental de trabajo con las cestas de parejas de divisas: el tráder recibe una señal para la entrada según una divisa de la cesta y entra de inmediato con todas las parejas que conforman la cesta. En ciertas parejas tendrá pérdidas, pero en la mayoría logrará beneficios. Sobre este principio ya hemos hablado con bastante detalle en los primeros artículos de la serie. Pero no estará de más recordar que todas nuestras conclusiones y discusiones tienen un carácter probable.

Y puesto que el análisis de un solo punto no puede ejercer de base para deducciones generales, no vamos a hacer ninguna conclusión final. Sin embargo, el resultado obtenido puede impulsar a los investigadores a realizar un estudio en profundidad de la cuestión, planeando un experimiento, recopilando estadísticas y publicando los resultados.

Vamos a volver al inicio del artículo, ahora ya podemos describir los motivos por los que, en estos momentos, ya no merece la pena perder el tiempo en la escritura de un indicador combinado del índice de la divisa de la cesta con un gráfico de velas:

  • Para una pareja de divisas tomada de forma aislada, los patrones analizados tienen un carácter auxiliar, secundario.
  • Para todas las parejas de divisas de la cesta, la situación es claramente otra, pero exige de un análisis de la historia.


Indicador de tendencia sencillo

Para confirmar nuestras conclusiones vamos a construir un indicador combinado primitivo que funcione según el principio siguiente:

  • Para la matriz de datos fuente (en este caso se trata de la matriz del índice de la divisa de la cesta de EUR) se calcula y representa la diferencia entre dos medias móviles: una "rápida" y una "lenta". Es fácil notar que el principio de trabajo es análogo al principio del indicador MACD. Ciertamente, vamos a tener la esperanza de que el indicador pueda mostrarnos la presencia de divergencias.

Aquí tenemos el código del indicador (podrá encontrarlo en el fichero testIndexMACD.zip):

//+------------------------------------------------------------------+
//|                                                testIndexMACD.mq5 |
//|                                   2016 MetaQuotes Software Corp. |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property indicator_separate_window

#property indicator_buffers 2
#property indicator_plots   1


input color   clr = clrBlue;
input int InpFastEMA = 12;   // Fast EMA Period
input int InpSlowEMA = 26;   // Slow EMA Period

double ind[],ma[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
//int h,h1;
int OnInit()
  {
//--- indicator buffers mapping
   ArraySetAsSeries(ind,true);
   SetIndexBuffer(0,ind);        
   
   IndicatorSetString(INDICATOR_SHORTNAME,"testIndexMACD");
   IndicatorSetInteger(INDICATOR_DIGITS,2);
   PlotIndexSetInteger(0,PLOT_DRAW_TYPE,DRAW_HISTOGRAM/*DRAW_LINE*/);
   PlotIndexSetInteger(0,PLOT_LINE_STYLE,STYLE_SOLID);
   PlotIndexSetInteger(0,PLOT_LINE_WIDTH,2);
   PlotIndexSetInteger(0,PLOT_LINE_COLOR,clr);
   PlotIndexSetString(0,PLOT_LABEL,"_tstMACD_");    


   ArraySetAsSeries(ma,true);
   SetIndexBuffer(1,ma , INDICATOR_CALCULATIONS);   

//---
   return(INIT_SUCCEEDED);
  }
  
string pair[]={"EURUSD","EURJPY","EURCHF","EURGBP","EURNZD","EURCAD","EURAUD"};
bool bDirect[]={true,true,true,true,true,true,true};
int iCount=7;
  
double GetValue(int shift) 
  {
   double res=1.0,d;
   double dBuf[1];
   for(int i=0; i<iCount; i++) 
     {
      d=CopyClose(pair[i],PERIOD_CURRENT,shift,1,dBuf);
      if(!bDirect[i]) dBuf[0]=1/dBuf[0];
      res*=dBuf[0];
     }//end for (int i = 0; i < iCount; i++)
   return (NormalizeDouble(MathPow (res, 1/(double)iCount), _Digits) );  
  }  
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
double t;
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   if(prev_calculated==0 || rates_total>prev_calculated+1) 
     {
      int rt=rates_total;
      for(int i=1; i<rt; i++) 
        {
         ma[i]= GetValue(i);
        }
      rt=rates_total - InpSlowEMA;  
      for(int i=1; i<rt; i++) 
        {
         ind[i] = GetMA(ma, i, InpFastEMA, _Digits) - GetMA(ma, i, InpSlowEMA, _Digits);
        }        
     }
   else 
     {
         ma[0]= GetValue(0);
         ind[0] = GetMA(ma, 0, InpFastEMA, _Digits) - GetMA(ma, 0, InpSlowEMA, _Digits);
     }
//--- return value of prev_calculated for next call
   return(rates_total);
  }

//+------------------------------------------------------------------+

double GetMA(const double& arr[], int index , int period, int digit) {
   double m = 0;
   for (int j = 0; j < period; j++)  m += arr[index + j];
   m /= period;
   return (NormalizeDouble(m,digit));
}

Tras colocar el indicador en el gráfico, obtenemos la siguiente imagen, usando el índice EUR combinado como fuente:


... y notamos en uno de los segmentos una divergencia. La línea de resistencia en el gráfico de precio sugiere que existe una tendencia hacia abajo, pero la dinámica de los cambios de las indicaciones de nuestro indicador advierte al tráder de que la tendencia se está debilitando o incluso finalizará pronto. Ciertamente, después observamos un cambio de tendencia contundente. El estudio del comportamiento del precio de las otras parejas de divisas confirma las conclusiones extraídas:

En este caso, esta situación aislada confirma las conclusiones anteriores: los patrones analizados en este artículo se deben aplicar con cuidado a una pareja aislada, pero se pueden aplicar con mayor confianza a una cesta completa de parejas de divisas.


Conclusión

Hemos finalizado el análisis de los patrones que surgen al comerciar con cestas de parejas de divisas. Vamos a exponer brevemente las reglas comerciales de aplicación de todos los patrones descritos.

  • Se ha confirmado la alta precisión del patrón obtenido cuando los niveles de sobreventa/sobrecompra son cruzados por el gráfico del indicador combinado de diferencia entre las indicaciones del indicador-oscilador combinado (WPR, STOCH) para la divisa básica y para la divisa de la cotización. La entrada puede efectuarse después del cierre de una vela, si se confirma la ruptura de la línea de sobreventa / sobrecompra y, posiblemente, el comienzo de una nueva tendencia. La entrada se ejecuta con una pareja de divisas, aquella en la que se ha colocado nuestro indicador. La salida del mercado se puede realizar después de que el indicador alcance la zona próxima al cero, o bien cuando se aproxime al límite opuesto del diapasón del indicador:

    En el último caso, al aproximarse a la zona próxima al cero, es mejor pasar las órdenes abiertas a ausencia de pérdidas. Preste atención a la señal falsa de Buy, esto se ha discutido aquí. El stop-loss también puede colocarse según este indicador. Puede activarse en el caso de que tras la ruptura de las líneas de sobrecompra / sobreventa el indicador no vaya hacia el lado del cero, sino que vire y rompa de nuevo la línea de sobrecompra / sobreventa, se afiance y comience el movimiento junto al límite del diapasón.
  • Este patrón existe también para los indicadores-osciladores combinados (WPR, STOCH), que muestran el estado de la divisa de la cesta. Aquí en la ilustración se representa el gráfico del WPR combinado para EUR:

    Las normas de entrada y salida siguen siendo las mismas, pero la entrada en el mercado no se ejecuta con una sola, sino con todas las parejas de divisas. Preste atención al punto donde es posible el stop-loss. Aquí se muestra como ejemplo: el tráder no fija de forma obligatoria las pérdidas precisamente en este lugar. Los indicadores usados aquí y en el punto anterior se pueden encontrar en el fichero adjunto wpr2.zip.
  • El cruce de los gráficos МА puede ejercer como patrón auxiliar a los dos enumerados más arriba. Si tiene lugar en la zona de ruptura de las líneas de sobrecompra/sobreventa, esto fortalecerá ambos patrones.
  • Los patrones que se forman al aplicar los indicadores de tendencia combinados, también tienen carácter auxiliar. Por el momento, no tenemos motivos para recomendar la entrada en el mercado basándonos en sus detecciones, pero son totalmente utilizables como señales auxiliares a los dos primeros patrones.

En esta etapa no es posible dar recomendaciones comerciales exactas con cifras y estadísticas significativas. La ausencia de investigaciones históricas, sin duda, constituye un defecto muy serio de todos los patrones descritos arriba. En futuros artículos intentaremos eliminar este defecto.

Programas usados en el artículo:

 # Nombre
Tipo
 Descripción
1 wpr.zip Fichero
Contiene el indicador de referencia testWPRusd (código y módulo ejecutable) y el código del indicador técnico WPR - wpr.mq5
2
testIndex+WPR.mq5 Indicador Indicador combinado de prueba que dibuja los valores de WPR obtenidos después de aplicar las fórmulas de cálculo de WPR a los valores del índice de la divisa de la cesta.
3
 index.zip    Fichero  Dos indicadores combinados del índice de la divisa de la cesta de USD y EUR
 4  testIndexMACD.zip   Fichero  Indicador de tendencia simple basado en el principio de MACD
5
 wpr2.zip Fichero Indicadores para ilustrar la entrada y la salida del mercado


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

Archivos adjuntos |
testIndex8WPR.mq5 (6.93 KB)
index.zip (3.25 KB)
testIndexMACD.ZIP (1.65 KB)
wpr.zip (3.22 KB)
wpr2.zip (4.83 KB)
Optimización Walk-Forward en MetaTrader 5 con sus propias manos Optimización Walk-Forward en MetaTrader 5 con sus propias manos

En este artículo se consideran las técnicas que permiten emular con precisión la optimización walk-forward a través del Probador incorporado y librerías auxiliares implementadas en MQL.

Indicadores personalizados e infografía en CCanvas Indicadores personalizados e infografía en CCanvas

En este artículo se analizarán nuevos tipos de indicadores con una estructura de implementación más compleja. Se describirá la construcción de los indicadores de los tipos pseudo-3D y la creación de infografías que cambian de manera dinámica.

Asesor Experto multiplataforma: Gestión de capital (money management) Asesor Experto multiplataforma: Gestión de capital (money management)

En este artículo se analiza la implementación de la gestión de capital (money management) en el Asesor Experto multiplataforma. Las clases de la gestión de capital se encargan del cálculo del tamaño del lote que el Asesor Experto usará para entrar en la siguiente operación.

Experto comercial universal: Acceso a las propiedades de los instrumentos (parte 8) Experto comercial universal: Acceso a las propiedades de los instrumentos (parte 8)

La octava parte del artículo está dedicada a la descripción de la clase CSymbol, un objeto especial que proporciona acceso a un instrumento comercial aleatorio. Incluida en el experto comercial, esta clase proporciona un rico conjunto de propiedades de cualquier instrumento, haciendo la programación de expertos aún más sencilla y multifuncional.