Arbitraje estadístico - página 4

 

He aquí un ejemplo de la posibilidad de cuasi-arbitraje estadístico. QC está prácticamente soltero. Sólo el tamaño de la extensión y la nivelación de la parada no nos permite aprovecharla. Estos valores atípicos son bastante frecuentes.


 
ivandurak:
Hay dos índices: MICEX y RTS, está claro que se correlacionan cerca de 1, en un momento perfecto el coste de los futuros sobre los índices sube hasta digamos el 5%, aunque el valor medio es del 0,5%. Compramos un futuro y vendemos otro, y cuando se vuelven a encontrar hacemos una operación inversa y fijamos el beneficio. Es un simple ejemplo que se encuentra en la superficie y no se puede arreglar a tiempo y utilizarlo a su favor, porque hay creadores de mercado. Por otro lado, nadie le impide formar su propia cartera (léase índice). Ahora cuente el número de carteras posibles compuestas por 5 instrumentos de las 36 posibles, aproximadamente unas 300000. Pruebe tantas combinaciones manualmente, no me imagino cómo. No he escarbado en esta dirección y quizás haya una base racional.

No, todo lo hacemos con nuestras manos, ¿cómo podemos confiar en un robot para que elija nuestra estrategia? )))

En cuanto a los creadores de mercado de MICEX y RTS, su divergencia y convergencia se debe al fortalecimiento o debilitamiento del rublo,El MICEX puede estar a veces más bajo o a veces más alto hasta 6 cifras, y esto no ocurre en un solo momento sino en varios días, debido a la gran volatilidad del RUR y de los mercados este cambio ocurre con bastante frecuencia. El beneficio debe ser tomado automáticamente, donde se puede establecer el porcentaje de cierre de la plataforma de rendimiento o la moneda del depósito, o el uso de pinzas. Todo funciona. Muchos distribuidores de divisas o SFD en ellos tienen EUROLLAR y BRAND. El beneficio también se puede recoger con las manos).

 

Me pueden decir qué hay que cambiar para que el spread se muestre adecuadamente desde el primer inicio del indicador.

//+------------------------------------------------------------------+
//|                                                        Test7.mq5 |
//|                        Copyright 2012, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright   "2009, MetaQuotes Software Corp."
#property link        "http://www.mql5.com"
#property description "Test7"
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots   1
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrAqua
#property indicator_style1  STYLE_SOLID

//--- input parametrs

input string         Symbol1_Name = "EURUSD"; // Нога BUY
input string         Symbol2_Name = "GBPUSD"; // Нога SELL
input double         Symbol1_Vol  = 0.01;       
input double         Symbol2_Vol  = 0.02;        


//---- buffers
double         ExtStdDevBuffer[];

//--- global variables
double Symbol1_K, Symbol2_K;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit()
  {
  //Определяем балансовые коэффициенты каждого инструмента
  Symbol1_K=SymbolInfoDouble(Symbol1_Name, SYMBOL_TRADE_TICK_VALUE)/SymbolInfoDouble(Symbol1_Name, SYMBOL_TRADE_TICK_SIZE);
  Symbol2_K=SymbolInfoDouble(Symbol2_Name, SYMBOL_TRADE_TICK_VALUE)/SymbolInfoDouble(Symbol2_Name, SYMBOL_TRADE_TICK_SIZE);
  
//---- define indicator buffers as indexes
   SetIndexBuffer(0,ExtStdDevBuffer,INDICATOR_DATA);
   ArraySetAsSeries(ExtStdDevBuffer,true);                             // индексация массива как таймсерия
   PlotIndexSetString(0,PLOT_LABEL,"SPREAD");

  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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[])
  {
  //--- variables of indicator
  int i, limit;
  
   if(prev_calculated>0)
     {limit=1;}
   else
     {limit=prev_calculated;}
    
  //--- main cycle
  for(i=limit-1;i>=0;i--)
  {
      ExtStdDevBuffer[i] = (Symbol1_Vol*Symbol1_K*iClose(Symbol1_Name,i) -  Symbol2_Vol*Symbol2_K*iClose(Symbol2_Name,i));
  }
  
  Comment("Symbol1_K =",Symbol1_K,"\n",
          "Symbol2_K =",Symbol2_K,"\n",
          "close_1[1] =",iClose(Symbol1_Name,1),"\n",
          "close_2[1] =",iClose(Symbol2_Name,1),"\n",
          "close[1] =",close[rates_total-1]);
          
          
   
  return(rates_total);
}

//-----------------------------------------------------------------------------------------
//+------------------------------------------------------------------+
//|Возвращает значение цены закрытия указанного параметром shift     | 
//|бара с соответствующего графика (symbol, timeframe).              |
//|В случае ошибки функция возвращает 0.                             |
//+------------------------------------------------------------------+
double iClose(string Symb,int Shift)
  {
   double Array[1];
   int Copied=CopyClose(Symb,PERIOD_CURRENT,Shift,1,Array);
   if(Copied!=1) return(0);
   return(Array[0]);
  }


En las fotos, el indicador de propagación inferior del autor de la rama.

Archivos adjuntos:
Test7.mq5  4 kb
 

Ejem, voy a retomar el hilo.

Llegados a este punto, puedo argumentar que el análisis de las dos grandes empresas equivale a un análisis de su cruce:

Si hay alguna objeción, estaré encantado de escucharla.

En este sentido, la gestión de la movilidad es lo primero. Hagamos una sesión de brainstorming.

¿Quién cree que es la mejor táctica de negociación para los osciladores?

 
Heroix:

Ejem, voy a retomar el hilo.

Llegados a este punto, puedo argumentar que el análisis de las dos grandes empresas equivale a un análisis de su cruce:

Si hay alguna objeción, estaré encantado de escucharla.

En este sentido, la gestión de la movilidad es lo primero. Hagamos una sesión de brainstorming.

¿Quién cree que es la mejor táctica de negociación para los osciladores?

He escarbado un poco en este tema. En mi opinión, no hay que analizar las mayores, sino su patrimonio total (patrimonio de la cartera): la diferencia entre la cartera y el cruce a diferentes coeficientes de peso de la participación de las mayores. En general, deberíamos seleccionar una cartera de instrumentos con tales coeficientes de ponderación para que su patrimonio agregado tuviera la menor desviación cuadrática media y la mayor aproximación a una línea recta. En cuanto a la aplicación de dicha cartera. Si la regresión lineal de la equidad es horizontal, compramos desde los bordes del canal (en este caso, el valor RMS debe ser máximo). Si la equidad tiene un ángulo de inclinación de la tendencia, está claro incluso para mí. Queda por saber cuánto tiempo mantiene sus propiedades la cartera de valores después del periodo de optimización. Me pondré a trabajar e intentaré dibujar un indicador un poco más tarde.
 
Eso es todo, el sintético se sale casi inmediatamente del canal... puedo suponer que con una probabilidad del 0,5. Esto sugiere que no hay ventajas en comparación con la negociación clásica de un solo instrumento.
 
ivandurak:
En general, es necesario seleccionar una cartera de instrumentos con coeficientes de ponderación tales que su patrimonio agregado tenga la menor desviación estándar, la mayor aproximación a una línea recta.
Esta es la tarea que se ha resuelto aquí.
Recycle2 - MQL4 Code Base
  • www.mql5.com
Recycle2 - MQL4 Code Base: технические индикаторы для МТ4
 
Heroix:

Llegados a este punto, puedo argumentar que analizar las dos grandes potencias equivale a analizar su cruce:

Por lo tanto:

hrenfx:

Verdadero sólo para EURUSD^k1 * GBPUSD^k2, donde k1 = 0,5 y k2 = -0,5.

En otras proporciones (|k1| + |k2| = 1) su afirmación es incorrecta.

 
hrenfx:
Ese es exactamente el problema que se resuelve aquí.
Casi sí. Sólo que quiero hacerlo con varias variaciones. Por desgracia, el código no está comentado, así que es mejor que lo escribas tú mismo. Lo que se puede ver en el vídeo, la equidad resumida tiene cierta inercia en la estacionalidad. Nota en el video - después de que el canal sintético se encuentra la tendencia comienza a continuación.
 
No debes ver el vídeo, sino mover tú mismo el intervalo de construcción con el ratón. Afortunadamente, el kit de herramientas reconstruye inmediatamente (sin retrasos) el sintético, mostrándolo también más allá del intervalo de construcción (los triángulos rojos son el primer cruce del cero del sintético fuera del intervalo de construcción).