Verifier la proximité de prix avec des niveaux clefs

Forums ProRealTime forum Français Support ProBuilder Verifier la proximité de prix avec des niveaux clefs

Viewing 3 posts - 1 through 3 (of 3 total)
  • #226214

    Bonjour,

    Comment vous y prendriez-vous pour verifier rapidement le niveau clef le plus proche dans un rayon de 50 points par exemple parmis une liste de niveaux clefs comme les niveaux symboliques (1000, 250…) ? Le but final est de “ne pas indiquer de signal” dans le cas où nous somme trop proche du prochain niveau.

    Si j’exécute le code ci-dessous en backtests tick par tick, son exécution est extrêment longue… je suppose alors que c’est l’utilisation du tableau qui en est la cause ? Dans cet exemple, il y a les niveaux clefs syboliques mais aussi la place (en indices 2 et3) pour les niveaux MM200 et VWAP.

    Auriez-vous en tête une autre approche (qu’un tableau ?) afin d’optimiser les temps de calcul (ici insoutenables en back test 100 kUnités)) ?

    Merci

     

     

     

    #226983

    Pour optimiser ton code et réduire le temps d’exécution lors des backtests, voici quelques astuces :

    1. Utiliser des Variables Simples Plutôt qu’un Tableau : Si les niveaux clés ne changent pas fréquemment, tu peux les définir comme des variables individuelles plutôt que de les stocker dans un tableau. Cela peut réduire le temps de calcul, car l’accès aux éléments d’un tableau est généralement plus lent que l’accès à des variables simples.
    2. Optimiser la Boucle FOR : Ta boucle FOR parcourt tous les éléments du tableau à chaque tick. Si tu peux déterminer à l’avance quels niveaux sont susceptibles d’être les plus proches, tu peux réduire le nombre d’itérations de la boucle.
    3. Utiliser des Instructions Conditionnelles Efficaces : Si tu as des conditions qui peuvent éliminer rapidement des cas non pertinents, place-les au début de ta boucle pour éviter des calculs inutiles.

    Voici une version optimisée de ton code : (non testé)

     

    1 user thanked author for this post.
    #227057

    Merci Nicolas.

Viewing 3 posts - 1 through 3 (of 3 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login