¡Optimización! Comparta sus experiencias, por favor. - página 6

 


Por poner un ejemplo... Gráfico de EA durante 7 años... ( beneficio 10 p) stop 300 pero el beneficio flota con el precio aunque esté en pérdidas... La relación entre beneficio y drawdown es de unos 25 durante siete años... no es mucho en principio... ...pero se pueden sacar alrededor de 200 p.a.
 
AndyGri:
¡Eso es genial! Estoy de acuerdo. La curva de rendimiento debería ser recta. Gracias por la idea, quiero hacer lo mismo, pero me temo que no tengo suficiente experiencia para programarlo :(
No puede ser directo (a no ser que sólo haya habido una transacción en el historial). De hecho, la curva de rendimiento es una línea discontinua. Por eso me he dado cuenta de que para ello hay que calcular el coeficiente de correlación lineal. Cuanto más se acerque este coeficiente a 1 en valor absoluto, más lineal será la curva de rendimiento.

En cuanto a cómo construirlo, sería más fácil si lo hago y lo posteo. El principio es universal y no depende del sistema de comercio, porque la curva se toma del historial de comercio. Todo el algoritmo se establece en el evento deinit() del Asesor Experto y los resultados se escriben en el archivo csv durante la optimización. Sólo tenemos que tomar este mismo archivo, ordenar por el coeficiente de correlación lineal, es decir, encontrar el valor más grande (el valor absoluto del coeficiente no puede ser superior a 1) y establecer el Asesor Experto con los parámetros externos adecuados. El formato csv también se puede ordenar en Exel.
 
Reshetov:
Por eso me he dado cuenta de que requiere un coeficiente de regresión lineal. Cuanto más se acerque este coeficiente a 1 en valor absoluto, más lineal será la curva de rendimiento.
Me gustaría (para los que estudiaron aritmética en la escuela parroquial) entender de qué coeficiente de regresión lineal de 1 estamos hablando? La ecuación de regresión lineal es la ecuación de la línea recta y=a*x+c. En el eje X, creo, están los números de operaciones (1,2,3.....N), en el eje Y, ponemos el saldo en la moneda del depósito (1000USD, 10000USD, 100000USD....., etc.). ¿Qué fórmula se utiliza para decir que a=1, o tiende a ello? ¿Cuál es el principio de normalización utilizado en esto?
 
De hecho, hay que tener en cuenta dos parámetros:
  • el factor de inclinación (parámetro a en la ecuación y=a*x+c.) , llamémoslo MO , sólo interesan aquellos en los que MO>0
  • La desviación estándar de la regresión lineal, llamémosla S, nos interesa que sea lo más cercana a cero.
En el archivo de salida obtenemos una matriz bidimensional en la que buscamos estas regiones.
 
Rosh:
En realidad hay dos parámetros a tener en cuenta:
  • el coeficiente de inclinación (parámetro a en la ecuación y=a*x+c.) , llamémoslo MO , sólo aquellos en los que MO>0
  • la desviación estándar de la regresión lineal , llamémosla S , los más cercanos a cero son de interés
  • .

En la salida obtenemos una matriz bidimensional que utilizamos para buscar estas zonas.

No está muy claro. ¿Podría publicar un ejemplo más detallado?
Tenemos una serie de valores pares de a y S para cada una de las ejecuciones de optimización. Podemos trazar estos puntos en la gráfica tomando los ejes de la gráfica bidimensional como datos a y S. Supongo que obtendremos alguna zona de muestras manchada (o bien, sólo alguna curvatura con extremos). Entonces, ¿cómo podemos obtener un coeficiente igual a 1 si los ejes son muy diferentes? ¿Cómo sale? ¿Y qué podemos decir exactamente de esta curvatura de los resultados, salvo que tiene extremos? Los extremos se pueden ver en los informes del comprobador sin necesidad de hacer un gráfico adicional: basta con pulsar el botón para ordenar los resultados de la optimización.
 
No he dicho nada de un factor de 1. Acabo de describir cómo lo veo yo: utilizando una aproximación de regresión lineal de los resultados de las pruebas. Sólo puedo ilustrarlo con la figura del artículo 20. Matrices e indicadores técnicos sobre ellas


 

La figura muestra sólo la etapa inicial de su propuesta (obtener los valores de a y S). Es decir, la figura muestra el resultado de una ejecución en el probador. No es difícil obtener los parámetros a - coeficiente de regresión lineal y RMS para este gráfico. Supongamos que tenemos 1000 gráficos de este tipo basados en los resultados de la optimización. Como resultado, tenemos una matriz de valores 1000x2, donde el primer índice es el número de ejecución y el segundo índice son los valores de a y S respectivamente. Además, ¿qué salida pueden tener los valores a y S obtenidos en un gráfico bidimensional a lo largo de los ejes, aparte de los extremos que pueden ser varios? Me gustaría entender a qué se refiere.

 
solandr:
Reshetov:
Por eso he adivinado que requiere un coeficiente de REGRESIÓN lineal. Cuanto más se acerque este coeficiente a 1 en valor absoluto, más lineal será la curva de rendimiento.
Me gustaría (para los que estudiaron aritmética en la escuela parroquial) entender de qué coeficiente de regresión lineal de 1 estamos hablando? La ecuación de regresión lineal es la ecuación de la línea recta y=a*x+c. En el eje X, según entiendo, están los números de operaciones (1, 2,3.....N), en el eje Y, ponemos el saldo en la moneda del depósito (1000USD, 10000USD, 100000USD....., etc.). ¿Qué fórmula se utiliza para decir que a=1, o tiende a ello? ¿Cuál es el principio de normalización utilizado en esto?
Perdón, estamos hablando del coeficiente de correlación lineal. Pido disculpas por el error.
 
Reshetov:
AndyGri:
¡Genial! Estoy de acuerdo. La curva de rendimiento debería ser recta. Gracias por la idea, yo también quiero hacerlo, pero me temo que no tengo suficiente experiencia para programarlo :(
De hecho, la curva de rendimiento es una polilínea. Por eso supongo que deberíamos calcular el coeficiente de correlación lineal. Cuanto más se acerque dicho coeficiente a 1 en valor absoluto, más lineal es la curva de rendimiento.

En cuanto a cómo construirla, sería más fácil si lo hago yo y lo posteo. El principio es universal y no depende del sistema de trading, porque la curva se toma del historial de operaciones. Todo el algoritmo se establece en el evento deinit() del Asesor Experto y los resultados se escriben en el archivo csv durante la optimización. Sólo tenemos que tomar este mismo archivo, ordenar por el coeficiente de correlación lineal, es decir, encontrar el valor más grande (el valor absoluto del coeficiente no puede ser superior a 1) y establecer el Asesor Experto con los parámetros externos adecuados. El formato csv también se puede ordenar en Exel.

¡¡¡Me gustaría mucho!!! :) Estoy harto de analizar los resultados de la optimización con los ojos y seleccionarlos por curva de rendimiento a través de la ejecución de Expert Advisor. Es demasiado largo... Es confuso para siempre...
 
nchnch:


Por poner un ejemplo... Gráfico de EA durante 7 años... ( beneficio 10 p) stop 300 pero el beneficio flota con el precio aunque esté en pérdidas.... ... La relación entre los beneficios y la reducción es de unos 25 en siete años... en principio no es mucho... pero se pueden ganar unos 200 anuales.

El beneficio es flotante, ¿cómo es eso? ¿Y cómo sigue el precio? ¡Deben estar ocultando algo de mí! :)
Razón de la queja: