Operar con spreads en Meta Trader - página 175

 
leonid553:

Como alguien que una vez sirvió en el ejército, me uno a las felicitaciones de los hilos vecinos en el Día del Defensor de la Patria.

(Exactamente la Madre Patria, pero por desgracia, no la mayoría de sus representantes en el gobierno)

=============================================

Un pequeño regalo. En mi opinión, existe una prometedora entrada de "cuasi-arbitraje". Sube desde el límite inferior del canal de la línea de propagación triple.

COMPRAR RPH1 ( o EURGBP) & (vender 6EH1 + vender DXH1) = 0.05 ^ 0.1 ^ 0.2
Controlemos la situación y esperemos a que las líneas de precios(azul y púrpura) converjan...

(Debo añadir que la entrada nocturna similar de ayer "a la baja" se cerró con un buen beneficio - ¡se puede ver claramente en el gráfico del indicador de spread! - informe http://www.procapital.ru/showpost.php?p=938820&postcount=1336 )

Beneficio total estimado con los tamaños de posición anteriores = 45-50 dólares (ancho del canal de distribución)


¡Enhorabuena a todos los que han aprovechado la recomendación!

Las líneas de precio azul y lila han convergido (se han cruzado), y la línea de dispersión ha alcanzado el límite superior del canal.

 

¿Qué tal si se intenta trabajar desde los bordes del canal seguido de un vuelco? Con la proporción del lote que tienes arriba.

He intentado comprobarlo con el indicador de equidad virtual, parece que hay un resultado. Sin embargo, no hay muchas ofertas.

No tenía ninguna acción.

 
Sólo hay que calcular con ( recycle2 ) la frecuencia con la que hay que cambiar la proporción del lote para mantener el piso. Hay una ventana deslizante allí.
 

El indicador Recycle-2 calculó el tamaño de este spread en particular, casi perfecto para una línea de spread plana.

Pero, - "demasiado bueno tampoco es bueno", - luscious....

La línea de propagación resulta ser "demasiado plana" y no tiene sentido obtener beneficios debido a su supuesto pequeño tamaño.

Por eso he tomado una proporción ligeramente diferente aquí:

RP-6E-DX=1^2^4- con esta proporción, el beneficio total esperado (de "frontera a frontera") es pequeño, ¡pero tiene una probabilidad bastante alta de conseguirlo! Especialmente a la hora de determinar el punto de entrada - ¡en la divergencia de las líneas de precio del indicador!

================

Será mejor que configures el periodo de cálculo del canal de dispersión a uno más pequeño. Será mucho más conveniente trabajar con atf=m15.

Mi parámetro ENV_PERIOD es 21 o 34 para plazos pequeños.

 
leonid553:

La línea de spread resulta ser "demasiado plana" y no tiene sentido tomar ganancias porque se supone que es demasiado pequeña.

¿Ejemplo?
 

Sí, esta propagación RP-6E-DX en particular es exactamente de lo que estaba hablando.

Con las dimensiones que usted sugirió del cálculo del Reciclaje-2 (página 165) - la línea de dispersión resulta ser demasiado plana:

(ignora los picos. Se trata de falsos impulsos provocados por las diferentes horas de inicio/fin de los instrumentos de futuros)

 

Lamentablemente, en MT4 no hay información disponible sobre el tiempo de negociación del IF. En Broco, el nombre detallado de FI contiene los datos de la hora comercial y la fecha de caducidad. Y a través de MQL4 se pueden obtener fácilmente estos datos para cualquier IF. Otra cosa es que, por ejemplo, el tiempo de licitación prescrito no se corresponde con la realidad en muchos casos.

Por lo tanto, si Recycle2 se encuentra con IFs que tienen intervalos en los que algún IF es negociado y otros no, Recycle2 asume que el IF no negociado simplemente no cambia de precio y lo toma en cuenta como negociado. Es decir, hay una especie de relleno de los huecos no comercializables con valores de precios constantes. Este problema no se produce si todas las IF son de la misma naturaleza.

Debido a esto, se obtienen pesos distorsionados. Es decir, pueden ser aún mejores. Se podrían añadir parámetros de entrada de tiempo comercial a Recycle2, pero no lo haré.

El diferencial de Recycle2 es efectivamente el más plano posible, aparte del matiz que he descrito anteriormente. Y, efectivamente, podemos ajustar los pesos a propósito para que la dispersión sea mayor. Pero hay que tener en cuenta que cuando se manipulan los pesos aumenta el riesgo de inestabilidad de la extensión (falta de colapso). Por lo tanto, debe hacerse con precaución.

El propio Recycle2 opera en una ventana deslizante:

  1. Para cada nueva barra, se desplaza una ventana deslizante y se recalculan las relaciones dentro de esa ventana (que han sido, y que irán desapareciendo).
  2. Se obtiene(IND_Recycle2) como salida el valor del sintético óptimo actual (rojo) y el ancho del canal (azul) de ese sintético en la ventana.
  3. Observe que en cada barra se ven dos características (valor actual y anchura del canal) de diferentes sintéticos. Es decir, las diferentes barras corresponden a diferentes sintéticos. El IND_RecycleShoMe le permite ver los sintéticos en detalle, sólo tiene que mover la línea vertical derecha a la barra de interés.
  4. Si el valor actual del sintético es mayor en un determinado valor de su ancho de canal(IND_RecycleShowMe mostrará cómo salió del canal), debe abrirse en el sintético hacia el interior del canal. Y cerrar cuando el sintético se desplome a cero.

Esta estrategia es bastante diferente de la negociación clásica de spreads, porque el spread se reequilibra todo el tiempo.

 
y ¿cuál es el beneficio medio y la pérdida media por operación si se normaliza todo a una unidad de lote?
 

Me pueden decir por qué cuando el Símbolo1_K llega al cálculo escribe cero de división. Es decir, necesito obtener los datos de los tres pares y crear una línea de equidad con una envolvente basada en ella, pero sólo necesito una orden para que funcione. ¿Funcionará en el probador?

//======= Определение момента открытия позиций ============
void    Conditions()
{
   Print("5");

  TradeUP   = false;
  TradeDOWN = false;
  
    double Symbol3_K = MarketInfo(Symbol_3, MODE_TICKVALUE)/MarketInfo(Symbol_3, MODE_TICKSIZE);
           Print("5_3");
           
    double Symbol1_K = MarketInfo(Symbol_1, MODE_TICKVALUE)/MarketInfo(Symbol_1, MODE_TICKSIZE);
       Print("5_1");

    double Symbol2_K = MarketInfo(Symbol_2, MODE_TICKVALUE)/MarketInfo(Symbol_2, MODE_TICKSIZE);
           Print("5_2");



    double equity_1 = Symbol1_Vol*Symbol1_K*iClose(Symbol_1,period,iBarShift(Symbol_1,period,Time[1])) 
                    + Symbol2_Vol*Symbol2_K*iClose(Symbol_2,period,iBarShift(Symbol_2,period,Time[1]))
                    + Symbol3_Vol*Symbol3_K*iClose(Symbol_3,period,iBarShift(Symbol_3,period,Time[1]));
                           Print("5_4");

                    
    double equity_2 = Symbol1_Vol*Symbol1_K*iClose(Symbol_1,period,iBarShift(Symbol_1,period,Time[2])) 
                    + Symbol2_Vol*Symbol2_K*iClose(Symbol_2,period,iBarShift(Symbol_2,period,Time[2]))
                    + Symbol3_Vol*Symbol3_K*iClose(Symbol_3,period,iBarShift(Symbol_3,period,Time[2]));
   Print("6");

                    
  /*  
    int counted_bars=IndicatorCounted();
    if(counted_bars<0) return(-1);
    if(counted_bars>0) counted_bars--; 
    int limit=Bars-counted_bars;
    
    double last[];
    datetime t;
        
    // Формируем график прибыльности
    for (int i=0;i<limit;i++) 
      {
        t=Time[i];
        last[i] = Symbol1_Vol*Symbol1_K*iClose(Symbol_1,0,iBarShift(Symbol_1,0,t)) 
                + Symbol2_Vol*Symbol2_K*iClose(Symbol_2,0,iBarShift(Symbol_2,0,t))
                + Symbol3_Vol*Symbol3_K*iClose(Symbol_3,0,iBarShift(Symbol_3,0,t));
      }
   */  
              
    double up_2     = iEnvelopesOnArray(equity_1,0,Channel_Period,MODE_SMA,0,Channel_Dev,MODE_UPPER,1);
    double dn_2     = iEnvelopesOnArray(equity_1,0,Channel_Period,MODE_SMA,0,Channel_Dev,MODE_LOWER,1);
    
   Print("7");

  if(equity_2<dn_2 && equity_1>dn_2)
    {
       TradeUP = true;
          Print("8");

    }
    
  if(equity_2>up_2 && equity_1<up_2)
    {
       TradeDOWN = true;
          Print("9");

    }
  
  if(use_close)
    {
      close(); // функция закрытия позиций на противоположной границе канала
         Print("10");

    }  
  
  if(use_doliv)
    {
      Doliv(); // доливочная функция
         Print("11");

    }  

}

Intento transferir el cálculo del indicador al cuerpo del Asesor Experto


 
Estoy fuera de la cuestión, he encontrado la contraseña de la inversión. La operación es rentable, pero el gráfico no es muy fluido. ¿A qué se asocian las pérdidas de 100-700 dólares?