Bonjour,
J’ai repris le code de l’indicateur de nicolas suivant: https://www.prorealcode.com/prorealtime-indicators/adaptive-atr-adx-trend/
pour en faire une stratégie auto. Je remarque plein d’incohérences dans les résultats du backtest que je n’explique pas:
Par exemple sTR est null toujours donc en le remplaçant par zéro toujours , cela me donne les même résultats, jusque la ok.
Par contre si je remplace les autres valeurs qui dépendent de sTR par zéro également, je n’ai plus du tout le même résultats, je me demande bien ce que PRT peut calculer avec un dénominateur NULL…
Ensuite, chose également étrange, le paramètre demandant la plus grande période de calcul est 2100 (j’ai augmenté les valeurs pour etre sur du plus “long terme”), le preloardbard est a 30000, j’ai un résultat de backtest, si je met le preloadbars a 10000, je n’ai plus du tout le même resultats….
J’ai codé la stratégie en Python pour la faire tourner via l’API et j’ai encore des résultats differents…
J’ai relevé d’autres aberrations que j’ai oublié mais voici celles que j’ai retenu, si quelqu’un a une explication, il y a peut etre une logique qui m’échappe. j’ai peur dorénavant de me fier aux résultats des backtests qui ne sont pas fiables.
La valeur “null” n’existe pas sous ProBuilder. Une variable qui n’a pas encore de valeur est forcément égale à 0 (sauf les variables de type array, mais cela n’est pas le cas ici).
Comme je l’ai indiqué dans les commentaires de cet indicateur et suite à une question, il y a des lignes incohérentes dans ce code. J’ai fait une simple traduction du code source qui était en Pine.
Bonjour Nicolas,
Merci pour ta réponse, j’avais bien lu les commentaires avant de “traduire” le code, même si les incohérences dans le code peuvent expliquer certains comportements, je ne comprends vraiment pas pourquoi le résultat change du tout au tout entre preloardbars= 10000 et 30000.. C’est surtout cela qui m’inquiète. Est ce un comportement que vous avez déjà observé sur d’autre backtest?
Je pense avoir saisi, si il prends zéro a la place de null, les valeurs comme l’ATR par exemple ont besoin de beaucoup de valeurs avant de se stabiliser et de parvenir à leurs “justes valeurs” puisqu’il prends zéro comme première valeurs de calcul pour l’une de ses variables.
Pour mémoire, le preloadbars maximal est fixé à 10.000 unités.