Discusión sobre el artículo "Optimizamos la estrategia usando el gráfico del balance y comparamos los resultados con el criterio "Balance + max Sharpe Ratio""
El artículo es interesante como un ejemplo de uso de bibliotecas estándar para lograr el objetivo. He estado utilizando el análisis de balance RMS durante más de dos años en MT4 - es un método muy útil para Expert Advisors con promediado de posiciones.
Personalmente, el artículo carece de información sobre la creación de un informe personalizado, es decir, escribir los resultados de la optimización en un archivo, especialmente cuando se optimiza a través de agentes.
Había un artículo reciente (me da pereza buscarlo) que también utilizabala "regresión lineal". Ya hice un comentario detallado al respecto, lo repetiré.
Ambos autores cometen errores idénticos: confunden conceptos cualitativamente diferentes de "regresión lineal" y "aproximación lineal". El primero se refiere a variables aleatorias y el segundo a deterministas. Sus ecuaciones se diferencian por la variable aleatoria, que es el error. No sé cómo en Alglib, pero en cualquier paquete estadístico normal la contabilización del error resulta en la EVALUACIÓN de los coeficientes de regresión, ya que hay un error para ellos, que puede ser múltiplo del valor nominal del coeficiente calculado, lo que lleva a un triste resultado: el valor del coeficiente se calcula, lo vemos, pero en realidad no está ahí, y no podemos usar lo que vemos Esta circunstancia no se tiene en cuenta en el artículo y para la terminología "regresión lineal" el artículo es absolutamente erróneo.
Si cambiamos las palabras "regresión lineal" por "aproximación lineal", que corresponderá a la esencia del artículo, en el que el equilibrio se considera como un conjunto de valores deterministas y no aleatorios, entonces es un artículo bastante interesante y útil.
Hey por alguna razón mi archivo no incluye el balanceregression. ¿Alguna manera de solucionar este problema? Lo tengo guardado en mis archivos y en incluir.
1. Lee la descripción del error y comprueba tus rutas.
2. Si tienes algún error, por favor proporciona resultados reproducibles: al menos necesitas un código completo y al menos necesitas pruebas de la presencia de archivos en las carpetas especificadas.
Tengo una pregunta general: ¿por qué cuando rellenamos las matrices de resultados de operaciones, sólo tenemos en cuenta las operaciones con impactos positivos en el saldo? es decir, ¿por qué arr_profits sólo se rellena con operaciones de (comisión + swap + beneficio) > 0,0?
¿Las caídas en la curva de balance (que son el resultado de la pérdida de operaciones) no afectan también a la línea LR y, por tanto, a GetProfitStability?
Recibí algunos errores cuando traté de compilar BalanceRegression.mph:
Las dos líneas comentadas a cabo generó el siguiente error - después de cavar alrededor de un poco, me encontré con que la biblioteca alglib se actualizó.
Las líneas actualizadas compilan y el código se ejecuta, pero nunca he utilizado CMatrixDouble antes, así que no estoy 100% seguro de que la solución es correcta.
operator[] constant variable cannot be passed as reference
CMatrixDouble xy(arr_size,2); for(int i=0;i<arr_size;i++) { //xy[i].Set(0,i+1); //xy[i].Set(1, arr_ganancias[i]); xy.Set(i, 0, i+1); xy.Set(i, 1, arr_profits[i]);
Además, la línea comentada, en el mismo archivo, devolvía una variable indefinida - de nuevo, creo que era debido a la actualización de alglib:
//double TrendMSE=informe_lineal.m_rmserror; double TrendMSE=linear_report.m_RMSError;
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso

Artículo publicado Optimizamos la estrategia usando el gráfico del balance y comparamos los resultados con el criterio "Balance + max Sharpe Ratio":
Ha sido considerado otro criterio de usuario para la optimización de las estrategias comerciales basado en el análisis del gráfico del balance. Para eso, ha sido utilizado el cálculo de la regresión lineal con la ayuda de la librería ALGLIB.
Ella significa el beneficio para una transacción para la línea de regresión construida:
Fig. 2. Parámetro TrendProfit
Autor: Vladimir Karputov