Discusión sobre el artículo "Ejemplo de desarrollo de una estrategia con spread para futuros en la bolsa de Moscú" - página 4

 

El ejemplo Si - RTS no está muy bien elegido, porque RTS no depende proporcionalmente de Si,

MIX(MXI) puede tener una gran influencia en RTS, porque RTS es un reflejo del índice MICEX en divisa.

Es mucho más interesante considerar SBRF - SBPR diferentes futuros para el mismo activo.

Añadido

O considerar RTS VS MIX sin tener en cuenta la cobertura Si, porque no todo el contrato RTS se vuelve a calcular en la compensación, y

sólo la diferencia entre el precio de compra y el precio de compensación.

MIX = RTS * USD_INDEX * LOT_RTS = 10 * 0.02

Sólo los saltos de USD_INDEX pueden ser la razón de la toma de beneficios, no al revés.

Añadido

Nota sobre la implementación (Strategy4_SpreadDeltaPercent_EA.mq5)

Es necesario trabajar no con barras, sino con pilas.

//+------------------------------------------------------------------+
//| Función de evento Expert Book|
//+------------------------------------------------------------------+
void OnBookEvent(const string &symbol)
{
  if((symbol == Symbol()) || (symbol == sec_symbol))
  {
  }
}

La primera posición debe ser abierta no por el mercado,

bool BuyAndSell(string sym1,string sym2,double lot1,double lot2)
  {
//--- compra y venta
   trade.Buy(lot1,sym1);
   trade.Sell(lot2,sym2);
//---
   return true;
  }

sino con una orden limitada, si se abre la posición.

abrir una contraoperación según el mercado

No está claro dónde y cómo se calculan el lote1 y el lote2.

 
prostotrader:

La primera posición no debe abrirse a mercado,

bool BuyAndSell(string sym1,string sym2,double lot1,double lot2)
  {
//--- compra y venta
   trade.Buy(lot1,sym1);
   trade.Sell(lot2,sym2);
//---
   return true;
  }

sino con una orden limitada, si se abre la posición, entonces

abrimos una contraoperación en el mercado

Me pregunto por qué es así, ¿primero por orden limitada y luego por mercado?
 
Dennis Kirichenko:
Me pregunto por qué es así: ¿primero el límite y luego la marca?

Porque el vaso puede "descargarse".

El primer elemento del vaso es el volumen 1 con un precio de 100, seguido del volumen 99 con un precio de 500,

comprando en el mercado, estamos en números rojos,

y comprando con límite, compramos o no compramos al precio que queremos.

 
prostotrader:

Porque el vaso se puede "descargar".

El primer elemento del vaso es el volumen 1 con un precio de 100, seguido del volumen 99 con un precio de 500,

Comprando en el mercado, vamos a bajar,

y comprando al límite, o compramos o no compramos al precio que queremos.

¡Gran ejemplo! Entonces, ¿por qué comprar en el mercado y no siempre en el límite?
 
Dennis Kirichenko:
Buen ejemplo. Entonces, ¿por qué marcar a precio de mercado y no siempre limitar?

Una operación de respuesta debe ejecutarse lo antes posible con todo el volumen que se utilizó para abrir la primera posición.

Responder con una operación limitada NO GARANTIZA el volumen ni el hecho de la ejecución de la operación.

 
prostotrader:

Una contraoperación debe ejecutarse lo antes posible con todo el volumen de la primera posición.

Una respuesta con una operación limitada NO GARANTIZA el volumen.

Perdón, se me pasó el término "contraoperación". Gracias. Muy buen punto "limit-market" entonces. Respeto
 
prostotrader:

No está claro dónde y cómo se calculan lot1 y lot2

No se calcula en ninguna parte, las limitaciones se describen en el propio artículo en una sección aparte.
 
prostotrader:

El ejemplo Si - RTS no está muy bien elegido, porque RTS no depende proporcionalmente de Si,

MIX(MXI) puede tener una gran influencia en RTS, porque RTS es un reflejo del índice MICEX en divisa.

Es mucho más interesante considerar SBRF - SBPR diferentes futuros para el mismo activo.

Añadido

O considerar RTS VS MIX sin tener en cuenta la cobertura Si, porque no todo el contrato RTS se vuelve a calcular en la compensación, y

sólo la diferencia entre el precio de compra y el precio de compensación.

MIX = RTS * USD_INDEX * LOT_RTS = 10 * 0.02

Solo los saltos de USD_INDEX pueden ser motivo de toma de beneficios, no al revés.

Gracias por los comentarios, esto es de interés para todos.
[Eliminado]  

¿Cómo puedo obtener el estadístico F y el valor p del modelo reg construido a través de alglib? Sólo hay AVGerr y RMSerr allí

 
Maxim Dmitrievsky:

¿Cómo puedo obtener el estadístico F y el valor p del modelo reg construido a través de alglib? Sólo hay AVGerr y RMSerr.

Hay un método estático para el estadístico F en la clase CAlglib:

//+------------------------------------------------------------------+
//| Prueba F de dos muestras|
//| Esta prueba comprueba tres hipótesis sobre las dispersiones del | dado
//| muestras. |
//| Parámetros de entrada:|
//| X - muestra 1. Matriz cuyo índice va de 0 a N-1. ||| X - muestra 1.
//| N - tamaño de la muestra.|
//| Y - muestra 2. Array cuyo índice va de 0 a M-1. ||
//| M - tamaño de la muestra.|
//| Parámetros de salida:|
//| BothTails - p-value for two-tailed test. |||
//|Si BothTails es menor que el | dado
//| nivel de significación la hipótesis nula es |
//| rechazado.|
//| ColaIzquierda - valor p para la prueba de cola izquierda. |||
//|Si LeftTail es menor que el | dado
//| nivel de significación, la hipótesis nula es |
//| rechazado.|
//| RightTail - p-value for right-tailed test. |||
//|Si RightTail es menor que el | dado
//| nivel de significación la hipótesis nula es |
//| rechazado.|
//+------------------------------------------------------------------+
static void CAlglib::FTest(const double &x[],const int n,const double &y[],
                           const int m,double &bothTails,double &leftTail,
                           double &rightTail)