Precisa de ajuda para otimizar o resultado

 

Acho difícil decidir um ajuste otimizado a partir do resultado de uma otimização.

Alguém poderia me dizer qual é o melhor para escolher entre um resultado de otimização, o menor drawdown, o fator de lucro ou qualquer outra coisa que eu deveria considerar?

Obrigado!

 

Teste o EA com os parâmetros otimizados em outro período de tempo (fora do período otimizado).

O lucro não é um bom parâmetro de otimização, fator de lucro e drawdown dizem mais sobre uma estratégia...

meus 2 centavos.

 
Invalid:

Acho difícil decidir um ajuste otimizado a partir do resultado de uma otimização.

Alguém poderia me dizer qual é o melhor para escolher entre um resultado de otimização, o menor drawdown, o fator de lucro ou qualquer outra coisa que eu deveria considerar?

Obrigado!


A resposta curta é que NENHUM deles é bom. Primeiro, basta pensar em "isso"... sendo a indústria de investimento, você vê QUALQUER empresa de investimento profissional ou gestor de fundos que relata seu histórico nos termos que você vê em seu relatório de otimização? Alguns relatarão o saque máximo, mas ninguém fala em fator de lucro ou pagamento esperado ou lucro total. (Eu não deveria dizer ninguém, a maioria são apenas os golpistas que relatam esses mesmos tipos de números, os caras que querem que você compre seu livro porque "eu transformei $3000 em $30m em apenas 7 semanas!) Então olhe em volta e depois se pergunte "por que os profissionais não usam estes números".

Em segundo lugar, há uma boa razão para que nenhum destes resultados seja utilizado, pois não falam com as estatísticas envolvidas (você vê algum desvio padrão?) e como tal não podem ser usados para gerar quaisquer números que lhe digam algo sobre o desempenho futuro esperado.

Para começar, você precisa do desvio padrão das taxas de retorno (seja diariamente, por comércio, por semana, etc.) para que você possa computar sua Razão Sharpe e seu Risco de Ruína. Com esses números você pode começar a classificar o desempenho dos parâmetros de teste de uma maneira que esteja mais em harmonia com o resto da indústria, bem como ter uma base estatística real quando se trata de alavancar resultados passados para falar a uma expectativa de resultados futuros.
 
zzuegg:

Teste o EA com os parâmetros otimizados em outro período de tempo (fora do período otimizado).

O lucro não é um bom parâmetro de otimização, fator de lucro e drawdown dizem mais sobre uma estratégia...

meus 2 centavos.

Obrigado, estou trabalhando na filtragem do período.

1005phillip:

A resposta curta é que NENHUM deles é bom. Primeiro, basta pensar em "isto"... sendo a indústria de investimento, você vê QUALQUER empresa de investimento profissional ou gestor de fundos que relata seu histórico nos termos que você vê em seu relatório de otimização? Alguns relatarão o saque máximo, mas ninguém fala em fator de lucro ou pagamento esperado ou lucro total. (Eu não deveria dizer ninguém, a maioria são apenas os golpistas que relatam esses mesmos tipos de números, os caras que querem que você compre seu livro porque "eu transformei $3000 em $30m em apenas 7 semanas!) Então olhe em volta e depois se pergunte "por que os profissionais não usam estes números".

Em segundo lugar, há uma boa razão para que nenhum destes resultados seja utilizado, pois não falam com as estatísticas envolvidas (você vê algum desvio padrão?) e como tal não podem ser usados para gerar quaisquer números que lhe digam algo sobre o desempenho futuro esperado.

Para começar, você precisa do desvio padrão das taxas de retorno (seja diariamente, por comércio, por semana, etc.) para que você possa computar sua Razão Sharpe e seu Risco de Ruína. Com esses números você pode começar a classificar o desempenho dos parâmetros de teste de uma maneira que esteja mais em harmonia com o resto da indústria, bem como ter uma base estatística real quando se trata de alavancar resultados passados para falar a uma expectativa de resultados futuros.


Uau, ótimo! Isto é algo novo para mim e mal posso esperar para ir mais longe. Eu também tropecei e baixei seu analisador estatístico através de buscas na "Sharpe Ratio" & "Risco de Ruína" que você mencionou.

Muito obrigado, vou aprender muito com isto.

 
Invalid:

Obrigado, estou trabalhando na filtragem do período.


Uau, ótimo! Isto é algo novo para mim e eu mal posso esperar para ir mais longe. Eu também tropecei e baixei seu analisador estático através de buscas de "Sharpe Ratio" & "Risco de Ruína".

Muito obrigado, vou aprender muito com isto.


errr... desculpe-me, gentil senhor :)

como aplicar este analisador estático em um EA ?? como abri-lo ? existe algum manual de instruções em algum lugar? ?

 
sergeyrar:


errr... desculpe-me, gentil senhor :)

como aplicar este analisador estático em um EA ?? como abri-lo ? existe algum manual de instruções em algum lugar? ?


NÃO é intencionalmente caixa preta... se você não consegue compreender o que o código em si faz, ou as estatísticas em si são destinadas a realizar, então realmente não há nenhum valor para você ganhar com o uso dos códigos.

Não tentar ser um cretino, apenas dizer que esta é uma daquelas circunstâncias em que você precisa ir pescar por si mesmo e não apenas receber um peixe. Eu lhe dei a cana de pesca, a isca, e lhe apontei na direção do lago. Mas estou sempre interessado em falar sobre o peixe, então se você pegar alguma coisa ou tiver um conto interessante para me regailhar depois de ter usado meu equipamento de pesca, então eu adoraria ouvi-lo e me engajar com você então. Até lá, a melhor das sortes na 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... adorei a analogia

obrigado

se eu conseguir algum peixe "dourado" que definitivamente vou compartilhar com você

 

Eu defini um robô com um T.p de 350 pips

e um S.L de 20 pips

seguindo a saída acima ^

com um risco constante de 0,5% por comércio (20 pips = 0,5%)

o cálculo faz sentido?

(arredondar os valores de apresentação para facilitar o 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)

a chance de perder 50% :

R = e^[(-2a/d)*(ln(1-z)/ln(1-d))] = e^[-0.1986*(-0.6931/-0.0244)] = 3.5 * 10^-3 | onde, a=0.0024 ; d=0.02416 ; z=0.5 ( 50%)

isso significa que eu tenho 0,35% de saldo de minha conta em 50%.

 

Estou tentando entender a origem de seus números x e P(x), acho que talvez o inglês não seja sua primeira língua, então quero ter certeza de que entendemos o significado dos termos que você está usando antes de fazer quaisquer conclusões ou declarações confusas.

"com um risco constante de 0,5% por comércio".

O que é um risco de 0,5% por comércio? Isto significa que você está arriscando 0,5% do saldo da conta no caso de o mercado se mover contra sua posição e a posição for fechada ao preço de perda?

"isso significa que eu tenho 0,35% de estar a 50% do saldo da minha conta".

O risco de ruína é um fator de tempo, o que significa que as unidades na declaração que você faz com os números que você calcula devem ser um "por comércio" ou "por semana" ou "por mês".

No momento não posso dizer de onde vem x e P(x), mas isso determina as unidades envolvidas aqui.

Ajude-me a entender o que você fez e ficarei mais do que feliz em investir o tempo necessário para determinar se você está aplicando os cálculos corretamente.

 
// 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.
}
Razão: