Necesito ayuda sobre el resultado de la optimización

 

Me resulta difícil decidir una configuración óptima a partir del resultado de una optimización.

¿Podría alguien decirme cuál es la mejor elección a partir del resultado de una optimización, el menor drawdown, el factor de beneficio o cualquier otra cosa que deba tener en cuenta?

Gracias.

 

Pruebe el EA con los parámetros optimizados en otro período de tiempo (fuera del período que ha optimizado).

El beneficio no es un buen parámetro de optimización, el factor de beneficio y el drawdown dicen más sobre una estrategia..

mis 2 centavos.

 
Invalid:

Me resulta difícil decidir una configuración óptima a partir del resultado de una optimización.

¿Podría alguien decirme cuál es la mejor elección a partir del resultado de una optimización, el menor drawdown, el factor de beneficio o cualquier otra cosa que deba tener en cuenta?

Gracias.


La respuesta corta es que NADA de eso es bueno. En primer lugar, piense en "eso"... siendo la industria de la inversión, ¿ve usted ALGUNA empresa de inversión profesional o gestor de fondos que informe de su historial en los términos que usted ve en su informe de optimización? Algunos informarán de la reducción máxima, pero nadie habla del factor de beneficio o de la ganancia esperada o del beneficio total. (No debería decir nadie, la mayoría de las veces son los estafadores los que informan de estos mismos tipos de cifras, los tipos que quieren que usted compre su libro porque "¡convertí 3.000 dólares en 30 millones de dólares en sólo 7 semanas!"). Así que mira a tu alrededor y luego pregúntate "¿por qué los profesionales no usan esto?".

En segundo lugar, hay una buena razón por la que no se utiliza ninguno de estos resultados, ya que, según se informa, no hablan de las estadísticas implicadas (¿ves alguna desviación estándar?) y, como tal, no pueden utilizarse para generar ningún número que te diga algo sobre el rendimiento futuro esperado.

Para empezar, necesita la desviación estándar de las tasas de rendimiento (ya sea diaria, por operación, por semana, etc.) para poder computar su Ratio de Sharpe y su Riesgo de Ruina. Con estas cifras, podrá comenzar a clasificar el rendimiento de los parámetros de prueba de una manera más acorde con el resto de la industria, así como tener una base estadística real cuando se trata de aprovechar los resultados pasados para hablar de una expectativa de resultados futuros.
 
zzuegg:

Pruebe el EA con los parámetros optimizados en otro período de tiempo (fuera del período que ha optimizado).

El beneficio no es un buen parámetro de optimización, el factor de beneficio y el drawdown dicen más sobre una estrategia..

mis 2 centavos.

Gracias, estoy trabajando en el filtrado del periodo.

1005phillip:

La respuesta corta es que NADA de eso es bueno. En primer lugar, piensa en "eso"... siendo la industria de la inversión, ¿ves alguna empresa de inversión profesional o gestor de fondos que informe de su historial en los términos que ves en tu informe de optimización? Algunos informarán de la reducción máxima, pero nadie habla del factor de beneficio o de la ganancia esperada o del beneficio total. (No debería decir nadie, la mayoría de las veces son los estafadores los que informan de estos mismos tipos de cifras, los tipos que quieren que usted compre su libro porque "¡convertí 3.000 dólares en 30 millones de dólares en sólo 7 semanas!"). Así que mira a tu alrededor y luego pregúntate "¿por qué los profesionales no usan esto?".

En segundo lugar, hay una buena razón por la que no se utiliza ninguno de estos resultados, ya que, según se informa, no hablan de las estadísticas implicadas (¿ves alguna desviación estándar?) y, como tal, no pueden utilizarse para generar ningún número que te diga algo sobre el rendimiento futuro esperado.

Para empezar, necesita la desviación estándar de las tasas de rendimiento (ya sea diaria, por operación, por semana, etc.) para poder computar su Ratio de Sharpe y su Riesgo de Ruina. Con estas cifras, puede comenzar a clasificar el rendimiento de los parámetros de prueba de una manera que esté más en línea con el resto de la industria, así como tener una base estadística real cuando se trata de aprovechar los resultados pasados para hablar de una expectativa de resultados futuros.


Vaya, ¡genial! Esto es algo nuevo para mí y no puedo esperar a dar un paso más. También me topé con & descargué su analizador estadístico a través de las búsquedas del "Sharpe Ratio" & "Risk of Ruin" que usted mencionó.

Muchas gracias, voy a aprender mucho de esto.

 
Invalid:

Gracias, estoy trabajando en el filtrado del periodo.


¡Wow, genial! Esto es algo nuevo para mí y no puedo esperar a dar un paso más. También me encontré y descargué su analizador estático a través de las búsquedas de "Sharpe Ratio" y "Risk of Ruin".

Muchas gracias, voy a aprender mucho de esto.


errr... perdóneme amable señor :)

¿como se aplica este analizador estático en un EA? ¿como se abre? ¿hay algún manual de istrucción en alguna parte? ?

 
sergeyrar:


errr... disculpe amable señor :)

¿Cómo se aplica este analizador estático en un EA? ¿Cómo se abre? ¿Hay algún manual de construcción en algún lugar? ?


Si no puedes comprender lo que hace el código en sí mismo, o las estadísticas en sí mismas, entonces no hay ningún valor que puedas ganar usando los códigos.

No pretendo ser un capullo, sólo digo que ésta es una de esas circunstancias en las que tienes que ir a pescar por ti mismo y no limitarte a que te den un pez. Te he dado la caña de pescar, el cebo y te he indicado la dirección del lago. Sin embargo, siempre me interesa hablar de los peces, así que si pescas algo o tienes una historia interesante que contarme después de haber utilizado mis aparejos de pesca, me encantará escucharla y hablar contigo. Hasta entonces, mucha suerte con la pesca :)
 

1005phillip:

It is intentionally NOT blackbox...if you can't comprehend what the code itself does, or the statistics themselves are aimed at accomplishing, then there really isn't any value for you to gain by using the codes.

Not trying to be a prick, just saying this is one of those circumstances where you need to go and fish for yourself and not merely be handed a fish. I've given you the fishing pole, the bait, and pointed you in the direction of the lake. I'm always interested in talking about the fish though, so if you catch something or have an interesting tale to regail me with after having used my fishing gear then I'd love to hear it and engage with you then. Until then, best of luck fishing :)

lol... me encantó la analogía

gracias

si consigo algún pez "dorado" definitivamente lo compartiré con ustedes

 

He definido un robot con un T.p de 350 pips

y un S.L de 20 pips

siguiendo la salida anterior ^

con un riesgo constante de 0,5% por operación (20 pips = 0,5%)

¿tiene sentido el cálculo?

(redondeando los valores de la presentación para facilitar el cálculo)

x P(x)

350 8%

-20 92%

E(x²)= 350² (0,08) - 20²(0,92) = 9432

E(x) = 350 (0,08) - 20(0,92) = 9,6

σ = sqrt ( E(x²) - (E(x))² ) = 96,64

E(x)% = 9,6/20 * 0,5% = 0,24% (= 0,0024)

σ% = 96.64/20 * 0.5% = 2.416% (=0.02416)

la probabilidad de perder el 50% :

R = e^[(-2a/d)*(ln(1-z)/ln(1-d))] = e^[-0,1986*(-0,6931/-0,0244)] = 3,5 * 10^-3 | donde, a=0,0024 ; d=0,02416 ; z=0,5 ( 50%)

eso significa que tengo un 0,35% de estar al 50% del saldo de mi cuenta

 

Estoy tratando de entender el origen de tus números x y P(x), creo que tal vez el inglés no es tu primera lengua por lo que quiero asegurarme de que entendemos el significado de los términos que estás utilizando antes de hacer cualquier conclusión o declaración confusa.

"con un riesgo constante del 0,5% por operación"

¿Qué es un riesgo del 0,5% por operación? ¿Significa que está arriesgando el 0,5% del saldo de la cuenta en el caso de que el mercado se mueva en contra de su posición y la posición se cierre al precio del stoploss?

"eso significa que tengo un 0,35% de estar al 50% del saldo de mi cuenta"

El riesgo de ruina es un cálculo de factor tiempo, lo que significa que las unidades de la declaración que haces con los números que calculas se entiende que son "por operación" o "por semana" o "por mes".

En este momento no puedo decir de dónde vienen x y P(x) pero eso determina las unidades que están involucradas aquí.

Ayúdame a entender lo que has hecho y estaré más que feliz de invertir el tiempo en determinar si estás aplicando los cálculos correctamente.

 
// 0.5% risk per trade @ 20 pip SL
double maxRisk = 0.005 * AccountBalance(),
       spread  = Ask-Bid,
       risk    = 20 * pips2dbl + spread,
       minLot  = MarketInfo(Symbol(), MODE_MINLOT),
       lotStep = MarketInfo(Symbol(), MODE_LOTSTEP),
       perLotPerPoint  = PointValuePerLot(),
       maxLossPerLot   = (risk+Slippage.Pips*pips2dbl) * perLotPerPoint,
       size = maxRisk / maxLossPerLot;  // Must still round to lotStep.
       size = MathFloor(size/lotStep)*lotStep;
       at.risk.new = size * maxLossPerLot;                 // Export for Comment
       if (size < minLot){     /*at.risk.new=0;*/                  return(0); }
...
double  PointValuePerLot() { // Value in account currency of a Point of Symbol.
    /* In tester I had a sale: open=1.35883 close=1.35736 (0.00147)
     * gain$=97.32/6.62 lots/147 points=$0.10/point or $1.00/pip.
     * IBFX demo/mini       EURUSD TICKVALUE=0.1 MAXLOT=50 LOTSIZE=10,000
     * IBFX demo/standard   EURUSD TICKVALUE=1.0 MAXLOT=50 LOTSIZE=100,000
     *                                  $1.00/point or $10.00/pip.
     *
     * https://www.mql5.com/en/forum/127584 CB: MODE_TICKSIZE will usually return the
     * same value as MODE_POINT (or Point for the current symbol), however, an
     * example of where to use MODE_TICKSIZE would be as part of a ratio with
     * MODE_TICKVALUE when performing money management calculations which need
     * to take account of the pair and the account currency. The reason I use
     * this ratio is that although TV and TS may constantly be returned as
     * something like 7.00 and 0.00001 respectively, I've seen this
     * (intermittently) change to 14.00 and 0.00002 respectively (just example
     * tick values to illustrate). */
    return(  MarketInfo(Symbol(), MODE_TICKVALUE)
           / MarketInfo(Symbol(), MODE_TICKSIZE) ); // Not Point.
}