A la consideración de los profesionales. - página 2

 
Integer:

Las líneas rojas muestran las detracciones, hay que encontrar el máximo.

¿Por qué hay que encontrar la reducción máxima? ¿Qué te dice eso?
 
Andrei01:

El comprobador mide correctamente la reducción máxima de la renta variable, pero no tiene en cuenta el estado de equilibrio en ese momento, lo que no tiene sentido.

En otras palabras, si la orden abierta subió y luego bajó 100 pips, el probador mostrará una reducción de 100 pips de la equidad, mientras que la reducción real que lógicamente determina el riesgo de la estrategia es igual a cero. Está claro que tales cálculos son inútiles para estimar los riesgos de la estrategia.


Andrei01:
¿Y por qué buscar la máxima reducción? ¿Qué te dice eso?
Bueno, si no lo necesitas o no entiendes para qué sirve, ¿por qué unirte a la conversación e imponer tu opinión?
 
Andrei01:

El comprobador mide correctamente la detracción mínima y máxima, pero no tiene en cuenta el estado de equilibrio en ese momento, lo que hace que esta medición no tenga sentido.

Es decir, si la orden abierta sube y luego baja 100 pips, el probador mostrará una reducción de 100 pips de la equidad mientras que la reducción real que determina lógicamente el riesgo de la estrategia es igual a cero. Está claro que estos cálculos son inútiles para la estimación del riesgo de la estrategia.

Por favor, explique dónde ha encontrado ese parámetro de reducción mínima, en qué informe. No me he encontrado con ello. No creo que el saldo no tenga valor para mí, me da igual que esté en el suelo mientras mi patrimonio sea bueno). ¿O he entendido algo mal? Siempre me ha parecido que sólo las órdenes pendientes pueden bajar y subir. ¿Me he equivocado? Si lo hubiera sabido antes, habría empezado a subir o bajar órdenes de venta y compra en la dirección que me interesaba). Creo que la caída máxima de la equidad encontrada durante la prueba puede repetirse en el comercio real; por lo tanto, creo que es correcto contarla desde el máximo.

 
Integer:

En general, la reducción máxima no es la diferencia entre el capital máximo y el mínimo. Al principio, MaxEquity=Patrimonio, MinEquity=Patrimonio, Drawdown=0. Si la equidad>MaxEquity, calculamos la reducción como MaxEquity-MinEquity. Si el valor obtenido es mayor que la reducción calculada anteriormente, almacenamos el valor más alto y restablecemos el mínimo - MinEquity=MaxEquity y almacenamos el nuevo máximo MaxEquity=Equity.
¿Podría modificar el código que he publicado? Gracias.
 

Así es como me funcionó a mí:

double MaxEq;
double MaxDD;

void DD_Init(){ // Вызываем из init
   MaxEq=AccountEquity();
   MaxDD=0;
}

void DD_Start(){ // Вызываем из start


   if(!IsTesting()){
      return;
   }      
   if(AccountEquity()>MaxEq){
      MaxEq=AccountEquity();
   }
   else{
      MaxDD=MathMax(MaxEq,MaxEq-AccountEquity());
   }
}
void DD_Deinit(){ // Вызываем из deinit

      if(!IsTesting()){
         return;
   }      
   Print("Просадка: "+DoubleToStr(MaxDD,2));
}
 
khorosh:
¿Podría modificar el código que he publicado? Gracias.


No me he puesto a ello, pero a primera vista parece que está bien, con un nuevo máximo se restablece el mínimo...
 
Andrei01:
¿Por qué buscar la máxima reducción? ¿Qué te dice eso?


Indica si el depósito, en caso de la circunstancia más desafortunada (el EA comienza en el momento mostrado por la línea verde), será suficiente.

 
Integer:

No me he metido mucho en ello, pero a primera vista parece que está bien, con un nuevo máximo se restablece el mínimo...
Bueno, si no fuera OnGoing, no lo habría dudado, ya que el resultado calculado por mi código coincidía con el resultado en el probador.
 

fotos aquí https://www.mql5.com/ru/forum/136747/page696

El asesor abre sólo 1 operación en un momento determinado (y no la cierra), comprueba la reducción máxima en el probador - prueba en modo visual:

1. no hasta el final del 3 de febrero (pulse stop antes)

2. antes del 3 de febrero

Archivos adjuntos:
 
serferrer:

fotos aquí https://www.mql5.com/ru/forum/136747/page698

El asesor abre sólo 1 operación en un momento determinado (y no la cierra), comprueba la reducción máxima en el probador - prueba en modo visual:

1. no hasta el final del 3 de febrero (pulse stop antes)

2. antes del 3 de febrero

¿El objetivo de tu post es mostrar cómo calcular correctamente la reducción del precio o mostrar que el probador calcula incorrectamente la reducción del precio? Por favor, da una respuesta detallada, no seas tan lacónico, no todo el mundo aquí es un profesional. Gracias por el consejo. Sólo me parece que tu código, si se incluye en el EA real, determinará el drawdown de una o varias operaciones abiertas desde el momento de la apertura hasta el cierre de las mismas, pero no buscará el máximo drawdown de todo el tiempo que esté funcionando el EA. ¿O me he equivocado? ¿Puede criticar mi código? ¿Realiza correctamente su tarea de encontrar la reducción máxima?