Qu'est-ce que le mode de backtesting Loupe à barres
Vous pouvez obtenir des exécutions d'ordres plus réalistes dans le cadre du backtesting de votre stratégie en utilisant l'option « Bar Magnifier ». Cet outil utilise l'inspection intra-barre pour vous donner une vue plus granulaire du mouvement des prix dans une barre afin de remplir les ordres avec plus de précision.
Lorsqu'il est activé, le mode Bar Magnifier fait en sorte que l'émulateur du courtier utilise uniquement les valeurs OHLC pour les barres historiques au lieu de supposer comment le prix s'est déplacé.
L'intervalle intrabarre utilisé avec le mode Bar Magnifier s'ajuste dynamiquement avec l'intervalle du graphique. Le tableau suivant répertorie les intervalles intrabar utilisés pour des intervalles graphiques de plus en plus élevés.
Tableau 1. Périodes intra-barre utilisées
Voici un exemple de stratégie qui utilise un ordre stop sans utiliser l'option Bar Magnifier :
//@version=5strategy("bar_magnifier_demo", overlay = true, use_bar_magnifier = false)if bar_index == 10381 strategy.entry("Long", strategy.long, stop = 157.0) strategy.exit("Exit", stop = 156.0)
JavaL'émulateur du courtier place un ordre stop sur la barre n° 10381 et exécute un ordre au prix de 157,0 sur la barre suivante dès que la condition stop = 157,0 est remplie. L'émulateur du courtier estime qu'à l'intérieur de la barre elle-même, le prix passe de "close" à "low", puis à "high" (déclenchant l'entrée), puis à "close". Après quelques barres (11 jours pour la période actuelle), la condition pour sortir de la position avec le prix stop = 156.0 est déclenchée :

Lorsque la loupe de barre est activée (paramètre use_bar_magnifier = true), les prix de sortie et d'entrée restent inchangés; cependant, la sortie de la position se produit dans la même barre que l'entrée:
//@version=5strategy("bar_magnifier_demo", overlay = true, use_bar_magnifier = true)if bar_index == 10381 strategy.entry("Long", strategy.long, stop = 157.0) strategy.exit("Exit", stop = 156.0)
Java
Si nous vérifions le graphique de l'échelle temporelle inférieure pour le même symbole (un graphique de 60 minutes, selon le tableau de l'échelle temporelle intrabarre) et trouvons la plage de temps correspondant à la barre 10382, nous pouvons voir que sur l'échelle temporelle horaire, après avoir atteint 157,0 et déclenché l'entrée, le prix descend en dessous de 156,0, satisfaisant la condition stop =156,0:

Lorsque l'option Bar Magnifier est activée, l'émulateur du courtier a accès aux changements de prix des échelles de temps inférieures pendant le backtesting, ce qui rend son comportement plus similaire à celui qui se produirait pendant le test de la stratégie pour la même période.
L'option Bar magnifier peut être activée en basculant l'entrée correspondante dans la fenêtre " Paramètres/Propriétés " de la stratégie:

! Remarque : La stratégie ne peut pas demander plus de 200 000 barres de l'horizon temporel inférieur.
Pour les symboles avec beaucoup de données historiques (où Num of Bars on the Chart × Num of Lower Timeframe Bars per Chart Bar > 200,000), les premiers trades sur le graphique peuvent ne pas être affectés par la loupe à barres.
Le nombre de barres, à partir de la fin du graphique, qui peuvent être affectées par la loupe peut être calculé approximativement à l'aide de la formule suivante.
last_bar_index - (200000 / Num of Lower Timeframe Bars per Chart Bar)
La valeur obtenue sera une approximation grossière, car le nombre de barres inférieures peut varier d'une barre à l'autre.
A lire également :