Cálculo de diferencias, ejemplos. - página 12

 
Aleksey Panfilov:

Las ideas son bienvenidas.

Como no hay sugerencias, vamos a ir por el camino trillado.

Añadido el indicador básico y la versión del Asesor Experto para MT 5.

Optimización en un marco temporal de 5 minutos.

Los dibujos están en un archivo Excel.

Archivos adjuntos:
 

Seguimos utilizando sólo las señales de los indicadores.

Supongamos la señal principal en la M5 y el refinamiento de la entrada en la M1. Optimizado en M1 por los precios de apertura. En la carpeta de pruebas, seleccioné (no con mucho cuidado) la variante, tanto por "precios abiertos" como por "todos los ticks". No veo diferencias fundamentales. Prueba en el intervalo dos veces mayor que el intervalo de optimización.


Archivos adjuntos:
 
Aleksey Panfilov:

Por ejemplo, esta es otra forma de utilizar los incrementos de precio como nueva información. Aquí, el incremento se lee explícitamente como una diferencia.

1*Y1-1*Y2-2*Y2+3*Y3-1*Y4 =0

1*Y1-1*Y2-3*Y2+6*Y3-4*Y4 + 1*Y5 =0

1*Y1-1*Y2-4*Y2+10*Y3-10*Y4 + 5*Y5 -1*Y6=0

1*Y1-1*Y2-5*Y2+15*Y3-20*Y4 + 15*Y5 -6*Y6 + 1*Y7=0

1*Y1-1*Y2-6*Y2+21*Y3-35*Y4 + 35*Y5 -21*Y6 + 7*Y7 -1*Y8=0

...

Puede ver que la línea (roja) trazada convencionalmente por el polinomio de la quinta potencia (basado en el número de puntos conectados) también se ha anclado firmemente al gráfico.


Es como si a costa del polinomio de cuarto grado sobre las primeras diferencias (incrementos de precio) hubiéramos aumentado (por el número de puntos) el grado hasta el quinto.

¿Es esto, la regularización?


He mirado las cifras, las he comparado con la imagen de VIKI "Coeficiente Binomial", resulta que son iguales:


Son "coeficientes en la expansión de (1+x)^n en una serie de potencias"

"Las filas de un triángulo de Pascal divididas por 2^n (la suma de todos los números de la fila) tienden, en el límite, a una función de distribución normal".

Cuando se creó el tema, se dijo que estaba interesado principalmente en "las matemáticas,...". Así que escribí. Las relaciones matemáticas del triángulo de Pascal en VIKI están escritas con mucho detalle, sólo que no está claro lo que se necesita.

 
Vladimir:

Miré los números, los comparé con la imagen de VIKI "Coeficiente Binomial", resulta que es lo mismo:


Se trata de "coeficientes en la expansión de (1+x)^n en una serie de potencias".

"Las filas de un triángulo de Pascal divididas por 2^n (suma de todos los números de la fila) tienden a una función de distribución normal en el límite ".

Cuando se creó el tema, se dijo que estaba interesado principalmente en "las matemáticas,...". Así que escribí. Las relaciones matemáticas del triángulo de Pascal en VIKI se explican con mucho más detalle, sólo que no está claro cuál es la necesaria.

Si se trata de una pregunta, se parece mucho a una pregunta retórica. ))

Responder a esta pregunta no es fácil. Las propiedades del triángulo se manifiestan en "temas" muy diferentes.

Has mencionado la estadística, ya he intentado ponerme al día desde el punto de vista de la cinemática (en los enlaces adjuntos).

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias de comercio

Cálculo de diferencias, ejemplos.

Aleksey Panfilov, 2018.01.10 16:34


Sí.

Directamente relacionado con el Binomio de Newton.

Es cierto para los puntos equidistantes:

1*Y1-2*Y2+1*Y3=0- ecuación de diferencia de la recta.

1*Y1-3*Y2+3*Y3-1*Y4=0 - la ecuación en diferencia de la parábola de segundo grado.

1*Y1-4*Y2+6*Y3-4*Y4+ 1*Y5=0 - ecuación en diferencia de la parábola de tercer grado.

También se solapa con los temas:

https://www.mql5.com/ru/forum/61389/page48#comment_5633264

https://www.mql5.com/ru/forum/211220/page2#comment_5632736 .

Adjunto, en mi opinión, un interesante artículo en la revista "Kvant". Y este no es el único artículo de N.B. Vasiliev sobre este tema, y por supuesto no agota toda la gama de propiedades del triángulo de Pascal. (Dejemos fuera de los paréntesis el hecho de que Pascal no fue el primero en prestar atención a este "modelo").

P/S. El nombre del archivo está torcido, se llamaba: Nikolay Vasiliev. Diario Quant.doc.zip

Archivos adjuntos:
 


Archivos adjuntos:
 
Aleksey Panfilov:

Si es una pregunta, es muy retórica. ))

Responder a esta pregunta no es fácil. Las propiedades de un triángulo se manifiestan en "temas" muy diferentes.

Has mencionado la estadística, ya he intentado ponerme al día desde el punto de vista de la cinemática (en los enlaces adjuntos).

Adjunto, en mi opinión, un interesante artículo de la revista "Kvant". Y este no es el único artículo de N.B. Vasiliev sobre el tema, y por supuesto no agota toda la gama de manifestaciones de las propiedades del triángulo de Pascal. (Dejemos fuera de los paréntesis el hecho de que Pascal no fue el primero en prestar atención a este "modelo").

P/S. El nombre del archivo está torcido, se llamaba: Nikolay Vasiliev. Diario Quant.doc.zip

Gracias por su detallada respuesta. He leído todo el material adicional. La pregunta como tal no era, más bien una reacción a tu sugerencia de otro hilo https://www.mql5.com/ru/forum/221552/page194#comment_6625488 :"¿Es posible utilizar tanto la segunda como la n-diferencia y EMA del primer al cuarto grado de esta manera? Sería curioso hacer un esquema general de procesos en ejemplos similares".

No hay que ir a la generalidad del esquema aumentando gradualmente el número de diferencias consideradas en 1, se puede ir directamente a un número muy grande de ellas analizando las propiedades del triángulo de Pascal. Fue en ese hilo, por lo que entendí, donde surgió la necesidad de estimar una "distribución de referencia". Que sea por miles de incrementos, pero el "punto de referencia" se postula inmediatamente en las propiedades de sus coeficientes del triángulo de Pascal como aspirantes a una distribución normal. @Alexander_K2 buscaba una distribución de incrementos que fuera al menos algo cercana a una distribución de Poisson, y la propia distribución de Poisson tiende a ser normal a medida que aumenta el índice. Mirando desde la perspectiva de que tus coeficientes corresponden a sustituir la expresión (1-x)^n por su análogo en diferencia, entonces... también se puede pensar en un esquema general de "procesos en ejemplos análogos".

Sin embargo, eso saldría del mismo hilo, y a su autor, creo, no le interesan las respuestas a las preguntas que él mismo plantea. Aunque personalmente también tendría curiosidad por ver el esquema general que mencionas.

 

P/S. A juzgar por los últimos gráficos, tenemos que comprobar el momento de la optimización de las operaciones.

 

En general, el "retroceso" en los horarios de apertura no fue significativo.

Nuevo gráfico.

El gráfico muestra el cierre de las operaciones, y para las operaciones que duran entre 15 minutos y 15 horas (principalmente) probablemente sea posible regular la apertura por tiempo, pero no "directamente". No sé cómo filtrar el cierre.

No sé cómo filtrar el cierre, aún no lo sé.

Archivos adjuntos:
2018_02_28.zip  441 kb
 

Se ha añadido una opción para desactivar la capa de filtrado en el último EA.

Y corregida la inexactitud, que obligaba a cerrar la operación y abrir la contraria en dos ticks / barras diferentes (al optimizar por puntos de apertura), en lugar de uno.

  if(( line1_L0[0] > line2_L0[0] || L0_1_line_power ==0)  &&  (line1_L1[0] > line2_L1[0]  || L1_1_line_power ==0))
     {
      if(
           (
           (line1_L2[0] > line2_L2[0] || L2_1_line_power ==0) && ((New_Time[0]-3600*Start_Hour)%86400 < 3600*Period_Hour)
           )
            || Sell_opened
        )  
        {
         // есть ли в данный момент открытая позиция на покупку?
         if(Buy_opened)
           {
//            Alert("Уже есть позиция на покупку!!!");
            return;    // не добавлять к открытой позиции на покупку
           }        
         if(
             Sell_opened && ( line1_L0[0] > line2_L0[0] || L0_1_line_power ==0) &&  (line1_L1[0] > line2_L1[0]  || L1_1_line_power ==0)
              && (line1_L2[0] > line2_L2[0] || L2_1_line_power ==0) && ((New_Time[0]-3600*Start_Hour)%86400 < 3600*Period_Hour)
           )
            {      LotS = 2*Lot;      }        
            else   LotS = 1*Lot;

Si se desactiva el filtrado por capa, el grado de la primera línea de la capa debe ser igual a 0. Si el grado de la segunda línea también se hace cero, supongo que se acelerará el cálculo, porque no se cumplirá una de las condiciones del indicador extra por ciclo.

El filtrado del tiempo de apertura se anula asignando un periodo permitido superior a 24 horas.

//=====================================================================================
input int      Start_Hour=0;
input int      Period_Hour=25;

input int     EA_Magic       = 12345;    // Magic Number slippage 
input int     EA_Slippage    = 30;       // Slippage from the current price
//=====================================================================================
//--- глобальные переменные
Archivos adjuntos:
 

Y por supuesto no se puede dejar ni siquiera un EA de prueba sin que funcionen correctamente el TP y el SL.

   if((line1_L0[0] < line2_L0[0] || L0_1_line_power ==0) &&  (line1_L1[0] < line2_L1[0] || L1_1_line_power ==0) && relay >= 0 )
     {
        relay = -1;
     
      if(
          (
          (line1_L2[0] < line2_L2[0] || L2_1_line_power ==0) && ((New_Time[0]-3600*Start_Hour)%86400 < 3600*Period_Hour)
          )
           || Buy_opened  
        )
        {
         // есть ли в данный момент открытая позиция на продажу?
         if(Sell_opened )
           {
//            Alert("Уже есть позиция на продажу!!!");
            return;    // Ждем исполнения стоп приказа //не добавлять к открытой позиции на продажу
           }
         if(
             Buy_opened  && (line1_L0[0] < line2_L0[0] || L0_1_line_power ==0) &&  (line1_L1[0] < line2_L1[0] || L1_1_line_power ==0) 
             &&  (line1_L2[0] < line2_L2[0] || L2_1_line_power ==0) && ((New_Time[0]-3600*Start_Hour)%86400 < 3600*Period_Hour)  
           )
            {      LotS = 2*Lot;      }        
            else
                   LotS = 1*Lot;

P/S.

Me explico, el TP y el SL también funcionaban antes, pero después de cerrar por ellos, la señal para abrir era sólo la capa del periodo mínimo, mientras que el periodo medio y el superior se filtraban condicionalmente por la tendencia. La segunda opción, con el interruptor, asume la señal principal en el periodo inferior y medio, y el filtrado de la tendencia sólo en el periodo superior, lo que se acerca más a la idea original.

PP/S.

He ejecutado la optimización de TP y SL, parece que la primera opción fue más útil.

Archivos adjuntos: