Besoin d'aide pour l'optimisation des résultats

 

Je trouve difficile de décider d'un paramètre optimal à partir du résultat d'une optimisation.

Quelqu'un pourrait-il me dire quel est le meilleur choix à faire à partir du résultat d'une optimisation, le plus faible drawdown, le facteur de profit ou tout autre élément que je devrais prendre en compte ?

Merci !

 

Testez l'EA avec les paramètres optimisés sur une autre période de temps (en dehors de la période que vous avez optimisée).

Le profit n'est pas un bon paramètre d'optimisation, le facteur de profit et le drawdown en disent plus sur une stratégie...

mes 2 centimes.

 
Invalid:

Je trouve difficile de décider d'un paramètre optimal à partir du résultat d'une optimisation.

Quelqu'un pourrait-il me dire quel est le meilleur choix à faire à partir du résultat d'une optimisation, le plus faible drawdown, le facteur de profit ou tout autre élément que je devrais prendre en compte ?

Merci !


La réponse courte est qu'AUCUNE d'entre elles n'est bonne. Tout d'abord, pensez-y... s'agissant du secteur de l'investissement, voyez-vous UNE SEULE société d'investissement professionnelle ou un seul gestionnaire de fonds qui présente ses résultats dans les termes que vous voyez dans votre rapport d'optimisation ? Certains indiquent le drawdown maximum, mais personne ne parle de facteur de profit, de gain attendu ou de profit total. (Je ne devrais pas dire personne, la plupart du temps ce sont les escrocs qui rapportent ces mêmes types de chiffres, les types qui veulent que vous achetiez leur livre parce que "J'ai transformé 3 000 $ en 30 millions de dollars en seulement 7 semaines"). Alors regardez autour de vous et demandez-vous pourquoi les professionnels n'utilisent pas ces chiffres.

Deuxièmement, il y a une bonne raison pour laquelle aucune de ces sorties n'est utilisée, car elles ne parlent pas des statistiques impliquées (voyez-vous des écarts types?) et en tant que telles, elles ne peuvent pas être utilisées pour générer des chiffres qui vous disent quoi que ce soit sur les performances futures attendues.

Pour commencer, vous avez besoin de l'écart-type des taux de rendement (que ce soit par jour, par transaction, par semaine, etc.) afin de pouvoir calculer votre ratio de Sharpe et votre risque de ruine. ) afin de pouvoir calculer votre ratio de Sharpe et votre risque de ruine. Avec ces chiffres, vous pouvez commencer à classer les performances des paramètres de test d'une manière plus conforme au reste du secteur et disposer d'une base statistique réelle lorsqu'il s'agit d'exploiter les résultats passés pour parler d'une attente de résultats futurs.
 
zzuegg:

Testez l'EA avec les paramètres optimisés sur une autre période de temps (en dehors de la période que vous avez optimisée).

Le profit n'est pas un bon paramètre d'optimisation, le facteur de profit et le drawdown en disent plus sur une stratégie...

mes deux centimes.

Merci, je travaille sur le filtrage de la période.

1005phillip:

La réponse courte est qu'AUCUNE d'entre elles n'est bonne. Tout d'abord, pensez-y... Il s'agit de l'industrie de l'investissement, voyez-vous une seule société d'investissement professionnelle ou un seul gestionnaire de fonds qui présente ses résultats dans les termes que vous voyez dans votre rapport d'optimisation ? Certains indiquent le drawdown maximum, mais personne ne parle de facteur de profit, de gain attendu ou de profit total. (Je ne devrais pas dire personne, la plupart du temps ce sont les escrocs qui rapportent ces mêmes types de chiffres, les types qui veulent que vous achetiez leur livre parce que "J'ai transformé 3 000 $ en 30 millions de dollars en seulement 7 semaines"). Alors regardez autour de vous et demandez-vous pourquoi les professionnels n'utilisent pas ces chiffres.

Deuxièmement, il y a une bonne raison pour laquelle aucune de ces sorties n'est utilisée, car elles ne parlent pas des statistiques impliquées (voyez-vous des écarts types ?) et en tant que telles, elles ne peuvent pas être utilisées pour générer des chiffres qui vous disent quoi que ce soit sur les performances futures attendues.

Pour commencer, vous avez besoin de l'écart-type des taux de rendement (que ce soit par jour, par transaction, par semaine, etc.) afin de pouvoir calculer votre ratio de Sharpe et votre risque de ruine. ) pour pouvoir calculer votre ratio de Sharpe et votre risque de ruine. Avec ces chiffres, vous pouvez commencer à classer les performances des paramètres de test d'une manière plus conforme au reste de l'industrie et disposer d'une base statistique réelle lorsqu'il s'agit de tirer parti des résultats passés pour parler d'une attente de résultats futurs.


C'est génial ! C'est quelque chose de nouveau pour moi et j'ai hâte d'aller plus loin. Je suis également tombé sur votre analyseur statistique et l'ai téléchargé en effectuant des recherches sur le "ratio de Sharpe" et le "risque de ruine" que vous avez mentionnés.

Merci beaucoup, je vais apprendre beaucoup de choses avec ça.

 
Invalid:

Merci, je travaille sur le filtrage des périodes.


Wow, génial ! C'est quelque chose de nouveau pour moi et j'ai hâte d'aller plus loin. Je suis également tombé sur votre analyseur statique et l'ai téléchargé en faisant des recherches sur "Sharpe Ratio" et "Risk of Ruin".

Merci beaucoup, je vais apprendre beaucoup de choses avec ça.


errr... excusez-moi, monsieur :)

comment appliquer cet analyseur statique sur un EA ? comment l'ouvrir ? existe-t-il un manuel d'utilisation quelque part ? ?

 
sergeyrar:


errr... excusez-moi, monsieur :)

comment appliquer cet analyseur statique sur un EA ? comment l'ouvrir ? existe-t-il un manuel de construction quelque part ? ?


C'est intentionnellement PAS une boîte noire... si vous ne pouvez pas comprendre ce que le code lui-même fait, ou les statistiques elles-mêmes sont destinées à accomplir, alors il n'y a vraiment aucune valeur pour vous à gagner en utilisant les codes.

Je n'essaie pas d'être un con, je dis juste que c'est l'une de ces circonstances où vous devez aller pêcher par vous-même et non pas simplement vous faire donner un poisson. Je vous ai donné la canne à pêche, l'appât, et vous ai indiqué la direction du lac. Mais je suis toujours intéressé de parler du poisson, alors si vous attrapez quelque chose ou si vous avez une histoire intéressante à me raconter après avoir utilisé mon matériel de pêche, j'aimerais l'entendre et discuter avec vous. En attendant, bonne chance pour la pêche :)
 

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... j'ai adoré l'analogie

merci

si j'ai des poissons "en or", je ne manquerai pas de vous en faire part.

 

J'ai défini un robot avec un T.p de 350 pips

et un S.L de 20 pips

en suivant le résultat ci-dessus ^

avec un risque constant de 0,5% par trade (20 pips = 0,5%)

est-ce que le calcul a un sens ?

(arrondir les valeurs actuelles pour faciliter le calcul)

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 chance de perdre 50% :

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

cela signifie que j'ai 0,35% de chances d'être à 50% du solde de mon compte

 

J'essaie de comprendre l'origine de vos nombres x et P(x), je pense que l'anglais n'est peut-être pas votre première langue, donc je veux m'assurer que nous comprenons la signification des termes que vous utilisez avant de faire des conclusions ou des déclarations confuses.

"avec un risque constant de 0,5% par transaction"

Qu'est-ce que 0,5 % de risque par transaction ? Cela signifie-t-il que vous risquez 0,5 % du solde du compte dans le cas où le marché évolue contre votre position et que celle-ci est fermée au prix du stoploss ?

"cela signifie que j'ai 0,35% de risque d'être à 50% du solde de mon compte"

Le risque de ruine est un calcul du facteur temps, ce qui signifie que les unités sur le relevé que vous faites avec les chiffres que vous calculez sont destinées à être un "par transaction" ou "par semaine" ou "par mois".

Pour l'instant, je ne peux pas dire d'où viennent x et P(x) mais cela détermine les unités impliquées ici.

Aidez-moi à comprendre ce que vous avez fait et je serai plus qu'heureux d'investir le temps nécessaire pour déterminer si vous appliquez les calculs correctement.

 
// 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.
}