Bonjour à tous,
je suis novice dans le code PRT et je voudrais faire un backtest suite à la création d’un indicateur tout simple.
J’ai adapté le code (entrée/sortie long et short), et le backtest se lance parfaitement, ok.
Sauf que lorsque je compare les flèches montrant les entrée/sorties entre le graphe backtest et le graphe de mon indicateur, il se trouve que le backtest entre en position systématiquement sur le chandeliers d’après celui où l’indicateur entre, et le backtest sort de position systématiquement sur le chandeliers d’après celui où l’indicateur sort, et ce, quelle que soit l’UT. Comment cela se fait-il !?
Parceque du coup, ça change complètement les résultats du backtest, et fausse complètement les gains/pertes.
Merci d’avance pour vos réponses.
Bonsoir, sans voir les codes, on reste dans la supposition, mais a priori classiquement on a:
- un signal confirmé en dernier tick d’une bougie (flèche indicateur, que la flèche apparaisse en cours, disparaisse et apparaisse plusieurs fois pendant, seul l’état de la flèche en fin de bougie est celui affiché en clôture)
- lecture de stratégie/backtest en fin de bougie et envoi d’ordre au mieux éxécuté dès le tick suivant, qui est forcément au mieux le premier tick de la bougie suivante en cas d’ordre au marché (flèche backtest).
Ce qui serait faux serait de considérer les gains et pertes avec les open des bougies où sont les flèches de l’indicateur, car cela reviendrait à remonter le temps (signal en fin de bougie mais considérer qu’on aurait réussi à revenir en arrière et entrer au début de la même bougie)
OK, merci pour cette réponse.
Je pense qu’il s’agit de ton option n°2. Mais ce que tu décris est ce qu’il se passe pour tous les signaux à backter. Donc comment faire pour que tout se lance au bon moment ?
Le code est lu en fin de bougie et l’ordre envoyé à l’ouverture du chandelier suivant.
Ce que tu vois sur le graphique, les signaux, ce sont des signaux qui sont calculés avec le Close de la bougie, dont sa valeur prix à sa fermeture. Donc lorsque le code est lu, c’est déjà le “bon moment”.
Par contre, si tu veux, par exemple, ouvrir un ordre en fin de bougie, donc à l’intérieur de celle-ci, et non à sa clôture, tu peux utiliser le MTF pour vérifier des informations à l’intérieur de la bougie dans une unité de temps plus petite, voir exemples simples :
Echelle de temps multiples
sell same bar close
Ouverture immédiate position