Operar con spreads en Meta Trader - página 163

 

Al calcular la proporción del lote, hago lo siguiente:

1. en primer lugar, se asignan valores de 1 a dos variables externas (llamémoslas "coeficientes de volatilidad" de dos IF)

2. desde el punto deseado en el tiempo (fijado en las variables externas) - al mismo tiempo miro a través de ambos gráficos para detectar los picos de "izquierda": por regla general, en M5, M15 el último mes es más o menos normal - trazamos los movimientos del par en ticks en una ventana separada:

extern datetime start = D'2011.01.19 03:00'; //время начала отрисовки тиковых графиков
extern double K1=1.0; //коэффициенты пропорциональности (для волатильности) устанавливаем визуально
extern double K2=1.0;
extern double Y_shift=0; //смещение по вертикали тикового графика второго инструмента

TickSize_1=MarketInfo(Symbol(),MODE_TICKSIZE); 
TickSize_2=MarketInfo(Symbol_2,MODE_TICKSIZE);

int bar2_1=iBarShift(Symbol_2,0,Time[i],false); //для синхронизации
int bar2_2=iBarShift(Symbol_2,0,Time[i+1],false);
double Close2_1=iClose(Symbol_2,0,bar2_1);
double Close2_2=iClose(Symbol_2,0,bar2_2);

StartBar=iBarShift(NULL,0,start,false);


    if(i==StartBar)
      {
      TM_1[i]=K1*(Close[i]-Close[i+1])/TickSize_1;
      TM_2[i]=(K2*(Close2_1-Close2_2)/TickSize_2)+Y_shift;
      }
    else
      {
      if(i<StartBar)
        {
        TM_1[i]=K1*((Close[i]-Close[i+1])/TickSize_1)+TM_1[i+1];
        TM_2[i]=K2*((Close2_1-Close2_2)/TickSize_2)+TM_2[i+1];
        }
      }


este es el inicio del proceso:

El valor preliminar de los lotes se define a partir de (aunque hay que comprobarlo - por ejemplo, la moneda de depósito $ y el tick FDAX = 12,5 EUR):

TV_Sym1=MarketInfo(Symbol(),MODE_TICKVALUE);
TV_Sym2=MarketInfo(Symbol_2,MODE_TICKVALUE);

entonces selecciona 2 figuras similares y mide la altura de cada una en ticks:

para aceite QM para aceite BRN

como vemos, BRN se ha movido 88 ticks, QM - 56,5 (es posible encontrar muchas cifras similares /basta con decenas/ y obtener así la relación entre la suma de movimientos de un instrumento y la suma de movimientos de otro) No lo haré en este ejemplo, simplemente pondré K2 a 88/56,6=1,56

el resultado de este gesto (paralelamente medimos la diferencia de los gráficos en este lugar por altura - 43,8 ticks):

ahora ponemos la variable externa Y_shift=43,8 y comprobamos:

en este caso el cálculo de los lotes se hace automáticamente por este código:

//---- расчет соотношений объемов по паре (TICK_VALUE предварительно проверять!)
  double L1=1,L2=1; //предварительно для обоих инструментов установим объемы по 1 лоту
  
  if(K1>K2) L1=NormalizeDouble(K1/K2,2);
  else if(K1<K2) L2=NormalizeDouble(K2/K1,2);
  
  if(TV_Sym1>TV_Sym2) L2*=NormalizeDouble(TV_Sym1/TV_Sym2,2);
  else if(TV_Sym1<TV_Sym2) L1*=NormalizeDouble(TV_Sym2/TV_Sym1,2);
  
  if(L1>L2) {L1/=L2; L2=1;}
  else if(L1<L2) {L2/=L1; L1=1;}

como puede ver, el resultado ha cambiado: es decir, 1,25 / 1 (¡una vez más, tenga en cuenta que 1 cifra no es suficiente!)

Debo señalar que no tuve discrepancias con Leonid (comprobé varios pares de esta manera)

Z.I. no importa que una de las herramientas sea un pegamento - para el ejemplo es insignificante

 
PPC:

El valor preliminar de los lotes se define a partir de (aunque hay que comprobarlo - por ejemplo, la moneda de depósito $ y el tick FDAX = 12,5 EUR):

Un problema similar se ha resuelto de la siguiente manera:

double TrueTickValue( string Symb )
{
  double TickValue = MarketInfo(Symb, MODE_TICKVALUE);
  double Tmp = MarketInfo(Symb, MODE_MARGININIT);
 
  if ((MarketInfo(Symb, MODE_MARGINCALCMODE) > 0) && (Tmp > 0))
    TickValue *=  MarketInfo(Symb, MODE_MARGINREQUIRED) / Tmp;
 
  return(TickValue);
}
Mi método para encontrar el diferencial se basa en la resolución de un problema de optimización y está totalmente automatizado para cualquier número de IF.
 
hrenfx:

Un problema similar se resolvió de esta manera:

Absolutamente de acuerdo. El 100% funcionará. Una construcción muy sencilla y lógica. (con tu permiso, lo añadiré a mi hucha)

 
hrenfx:
Mi método para encontrar el diferencial se basa en la resolución de un problema de optimización y está totalmente automatizado para cualquier número de IF.
Bueno, no hay comentarios aquí, porque no tengo el honor de conocer su idea :)
 
PPC:
Bueno, no hay comentarios aquí, porque no tengo el honor de conocer su idea :)

Este es el planteamiento del problema y esta es la solución.
 
hrenfx:

Este es el planteamiento del problema y esta es la solución.
gracias por la información - hay mucho material para estudiar.
 

Por cierto, para el petróleo, es más razonable arbitrar el diferencial CL (o WTI) - BRN

Las dimensiones son las mismas. Y los comentarios de los analistas se hacen todos por el tamaño del diferencial BRN - CL

Por cierto, un comentario interesante esta mañana. http://top.rbc.ru/finances/07/02/2011/539457.shtml

En general, muchos analistas de "materias primas" asumen que ahora que este diferencial(BRN - CL) ha alcanzado las 11 cifras, no va a crecer más y hay una razón para entrar en una contracción a largo plazo.

 

Situación actual BRNH1-CLH1=1^1, H1

 
leonid553:

Por cierto, en el petróleo es más razonable arbitrar el diferencial CL (o WTI) - BRN

Sólo estaba dando un ejemplo de la propia técnica de cálculo...
 

Bueno, aquí hay un pequeño regalo para los asistentes.

La difusión del cerdo del calendario HEJ1-HEK1 (abril-mayo).

Tendencias estacionales perennes . ¡Sin comentarios!

Sin embargo, habrá un comentario. Posiciones para abrir en este spread - mejor en medio de la negociación de la sesión americana después de las 18:30 horas de Moscú. En este momento, la oferta de compra de estos instrumentos porcinos es significativa y significativamente menor: ¡decenas de veces!