Numéro de l’itération en cours

Forums ProRealTime forum Français Support ProBuilder Numéro de l’itération en cours

Viewing 13 posts - 1 through 13 (of 13 total)
  • #220650

    Bonjour,

     

    Je ne trouve pas l’instruction permettant de connaitre le n° de l’itération en cours. Je m’explique :

    Par exemple, avec un DEFPARAM CALCULATEONLASTBARS=5  le code va être exécuté à 5 reprises : une fois pour un résultat qui sera affiché sur le même temps que la barre courante, une 2eme fois sur la barre précédent le temps de la barre courante [1], une 3eme fois sur la barre précédent de 2 périodes la barre courante etc jusqu’à précédent de 4 périodes la barre courante.

    Comment peut-on obtenir le numéro (ou le rang) de l’itération du code en cours (1 pour l’itération précédent le temps de la barre courante, 2 pour l’itération précédent de 2 barres la barre courante etc) ?

     

    Un grand Merci par avance !

     

    #220662

    Je m’aperçois qu’il suffit de mettre un compteur pour connaitre le range de l’itération mais s’il y avait une instruction ce serait plus intuitif …

    A cette occasion, je vois que les itérations ne se sont pas dans le sens 0 (barre courante) vers 4 (4eme barre précédent la barre courante) mais l’inverse cad 4 eme barre précédent la barre courante vers 0 (barre courante) : quelqu’un peut-il me le confirmer ?

     

    Merci par avance!

    #220668
    JS

    Hi @PROPRO

    C’est vrai, les calculs vont normalement toujours de « BarIndex=0 » à la barre actuelle… (de gauche à droite)

    Lorsque vous utilisez « CalculateOnLastBars=5 », seules les cinq dernières barres de l’historique seront utilisées dans les calculs où la dernière barre est le dernier calcul (4)…

    1 user thanked author for this post.
    #220686

    Le numéro de l’itération en cours c’est simplement le numéro du chandelier courant, soit le BARINDEX.

    Le code est lu dans l’historique une fois à la clôture, depuis le chandelier 0 jusqu’à la barre courante où le code sera lu à chaque modification du Close (soit le prix courant dans le chandelier tant qu’il n’est pas clôturé).

    1 user thanked author for this post.
    #220816

    Merci. En fait si on utilise CalculateOnLastBars, le n° de l’itération ne peut être donnée par Barindex car celui-ci démarre (0) à la 1ere donnée chargée. Je pense qu’il faut utiliser un compteur pour connaitre le nombre d’itérations lorsqu’on a un CalculateOnLastBars.

    Concernant ta 2eme remarque, ca me ramène à mes interrogations du début que j’avais partagées sur le Forum : quand est-ce que l’exécution du code est déclenchée sur la barre courante ? Tu parle de “prix courant dans le chandelier tant qu’il n’est pas cloturé” : est-ce que ca veut dire à chaque tick jusqu’au close ? La réponse diffère certainement qu’on soit en train d’afficher un indicateur sur le compte démo ou réel ou en train de tester un indicateur en ProBackTest ou en train d’exécuter en automatique (ProOrder) ?

    En proBackTest, le code s’exécute 1 seule fois pour chaque barre (de la gauche vers la droite) y compris pour la dernière barre la plus récente, puis ca s’arrête puisque la DB est figée ?

    En automatique (ProOrder) est-ce qu’on est dans les mêmes conditions qu’en ProBackTest cad éxécution du code uniquement après la clôture de la barre courante (et non pas à chaque “prix courant dans le chandelier tant qu’il n’est pas clôturé) et donc d’éviter des ordres d’achat/vente intempestifs ou non justifiés à postériori ?SI ce n’est pas le cas, comment fait-on por que l’exécution de la barre courante ne se fasse qu’une seule fois, juste après sa clôture ?

    Peut-être parlais-tu de l’exécution d’un indicateur sur le compte démo ou réel (exécution à chaque valorisation de la barre courante jusqu’à sa clôture …) mais qu’en Pro-Order ca se comporte comme en ProBackTest (exécution sur la barre courante uniquement lorsqu’elle est clôturée ..) …

    Je me permets une dernière question concernant l’affichage des exécutions : que ce soit en Live, en ProBactest ou en Pro-Order, l’affichage (RETURN) efface bien l’affichage de l’exécution précédente ?

    Un grand Merci par avance !

    #221020

    quand est-ce que l’exécution du code est déclenchée sur la barre courante ? Tu parle de “prix courant dans le chandelier tant qu’il n’est pas cloturé” : est-ce que ca veut dire à chaque tick jusqu’au close ?

    Oui, en effet. Sur le chandelier courant, si tu calcules avec la donnée Close (prix courant), l’indicateur se recalculera tant que que la barre ne sera pas fermé et appartiendra au passé.

    En proBackTest, le code s’exécute 1 seule fois pour chaque barre (de la gauche vers la droite) y compris pour la dernière barre la plus récente, puis ca s’arrête puisque la DB est figée ?

    Pour le trading automatique, sous ProBacktest ou ProOrder, le code est lu à fin de bougie, 1 seule fois, donc à valeur clôturé, même sur la bougie courante. Un backtest ne s’arrête pas, il continue au fil du temps si tu laisses la fenêtre ouverte (comme si tu le lançais en trading réel avec ProOrder).

    l’affichage (RETURN) efface bien l’affichage de l’exécution précédente ?

    RETURN retourne la valeur du calcul de la barre clôturée, sauf en temps réel comme expliqué dans le premier point.

     

     

    #221058

    Merci beaucoup Nicolas pour ces confirmations. Ca doit paraître évident pour ceux qui maîtrisent le système depuis longtemps mais pour ma part j’avais du code qui ne fonctionnait pas car en fait je n’avais pas complètement intégré/compris le fonctionnement d’exécution de l’outils.

    Merci encore et sans doute à bientôt !

     

    #221290

    Bonjour Nicolas,

    J’ai du coup quelques questions complémentaires suite à tes précisions :

    En automatique (ProBackTest et ProOrder) .. lorsque les marchés sont ouverts
    A l’exécution du code au moment de “chaque clôture de barre courante” lorsque les marchés sont ouverts, quel est le n° de cette barre considéré par le code : est-ce [0] (cad close) ou est-ce [1] (close[1]) puisque la barre courante étant close il y a de fait une nouvelle barre courante [0] qui existe ?
    C’est une info importante pour les compteurs des boucles et les valeurs aux limites ..
    NB : en temps réel la question ne se pose pas puisque le code s’exécute à chaque évolution de cours de la barre courante qui est la [0].

    En automatique (ProBackTest et ProOrder).. lorsque les marchés sont fermés
    Il arrive souvent de faire tourner les codes “hors marché” lorsqu’on met au point des indicateurs ou qu’on fait du ProBackTest (ex: durant les weekend). Cf ma question précédente, quel est alors le n° considéré par le code pour la dernière barre sur laquelle il s’exécute : [0] ou [1] ?
    NB : pour le test d’un indicateur (donc en temps réél .. sauf que le marché est fermé), quel n° de barre le code considère t’il pour la dernière barre ou il s’exécute : [0] ou [1] ?

    Un grand Merci par avance !

    #221612

    Bonjour,

    Est-ce que quelqu’un aurait la réponse aux 2 questions ci-dessous ?

    Un grand Merci par avance

     

     

    #221615

    Les numéros de barindex augmentent de la gauche vers la droite, réponse à visualiser en rajoutant à la fin d’un probacktest la ligne :

    Faire tourner le backtest rajoutera alors une fenêtre “probacktest – variables” avec la ligne représentant les numéros de tous les barindex

    (si présence d’un defparam preloadbars=… , jouer sur la valeur du nombres de barres préchargées pour voir l’influence sur le numéro du dernier barindex)

    La notation entre crochets n’est pas le numéro de barre, mais référence relative à une barre précédent celle d’où on applique cette notation, lue dans le sens droite vers gauche (exemple: close[3] est la clôture 3 barres avant celle considérée)

    #221903

    Merci JC_Bywan. J’ai bien la compréhension du Barindex (gauche vers droite) et de la notation ‘[x]’ (droite vers gauche) et je prends note de l’instruction Graph barindex pour Probacktest que je ne connaissais pas. Pour le barindex je ne me pose pas de question car il s’incrémente de 1 à chaque nouvelle barre, par contre pour le décompte depuis la dernière barre ( [x] ) et compte tenu du fait que probacktest et pro-order ne font pas de calcul sur les barres courantes mais uniquement sur la dernière barre clôturée je me demandais du coup si cela correspondait bien à la notation [1] ou pas (dernière barre cloturée avant la barre courant en cours) ? … et [0] lorsque les marchés sont clôturés puisqu’il n’y a pas de barre courante lorsque les marchés sont clos ?

    Merci par avance

    #221909

    Dans probacktest/proorder, pendant la lecture de la dernière barre clôturée, considérée [0] si point de départ pour revenir en arrière, la précédente étant référencée avec [1] après une variable (close[1], etc…), peu importe que la suivante soit en cours mais non clôturée ou pas encore commencée, dans les 2 cas elle n’est pas encore lue les notations ne se décaleront que dès qu’il y aura lecture de cette suivante donc à sa clôture (contrairement à probuilder où celle en cours est lue à chaque tick donc les notations se mettent à jour dès son premier tick)

    1 user thanked author for this post.
    #221940

    C’est très clair, merci beaucoup !

     

     

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

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