Bonjour,
Je suis un utilisateur récent de PRT et de ProOrder / Probacktest et je cherche une réponse à une question de principe fondamentale : lorsqu’on défini une ou des condition(s) de réalisation (valeur variable, valeur fonction, etc), on les associe à un support (indice, Forex, contrat Futures etc) et à une dimension temporelle de la barre (mn, heure, quoditien etc) … mais à quelle fréquence l’outils proOrder ou ProBackTest lorsqu’ils s’exécutent vont-ils vérifier la réalisation des conditions définies ?
Pour ProBackTest il me semble que la vérification doit se faire une fois pour chaque barre puisqu’on est pas en ‘live’ mais sur des données historiques. Par exemple, si on a choisi des barres ‘mn’, ProBackTest va aller vérifier 1 seule fois pour chaque barre si les conditions sont réalisées ou pas à partir des High/Low/Open/Close de la barre MAIS pas une vérification toutes les secondes ou tous les ticks à l’intérieur des barres de 1 mn ? Du coup, la barre la plus récente correspondra à la barre appelée ‘courante’ dans proBuilder ?
Pour ProOrder qui s’exécutera en ‘live’ pendant l’ouverture des marchés, qu’en est-il ? Si on prend toujours l’exemple des barres de 1 m, ProOrder va t’il vérifier l’exécution des conditions sur la barre ‘en cours cad par encore cloturée’ et combien de fois va t’il le faire à l’intérieur de cette barre de 1 mn , ou va t’il ne vérifier l’exécution des conditions qu’au moment on la barre de 1 mn se clôture sans tenir compte de la nouvelle barre ‘live’ qui s’ouvre alors ? Du coup qu’est que ProOrder appelle la barre courante lorsque le marché est ouvert à la cotation : est-ce la dernière barre clôturée ou est-ce la barre ‘en cours – pas encore cloturée’ ?
Un grand Merci par avance du retour d’un sachant sur le sujet !
Bien cordialement
pour proorder ou probacktest il vérifie le code a chaque barre la différence c’est de mettre du spread dans probacktest pour s’approcher du réel
Merci beaucoup pour ce retour rapide. Pour être sur de bien comprendre,
– pour ProBackTest, il vérifie le code 1 seule fois par barre, toutes les barres étant closes par définition puisqu’on est sur un historique sur une période donnée
– pour ProOrder, il vérifie le code 1 seule fois immédiatement après la clôture de la barre courante ou est-ce qu’il va vérifier le code X fois pendant la durée de la barre courante qui n’est pas cloturée : par exemple, pour une barre de 1 minute, est-ce qu’il vérifie 60 fois par minute (chaque seconde) ou à une autre fréquence
Merci beaucoup
Un signal est toujours vérifié à la fin de chaque barre. Donc barre par barre. Si vous souhaitez commencer à négocier dans une barre, vous pouvez le faire avec un ordre stop ou un ordre limité. Backtest et en vrai.
Merci, donc je comprends que le signal est vérifié une fois que la barre est 100% tracée (clôturée) que ce soit pour ProBackTest ou ProOrder. Mon courtier m’avait répondu que le signal était vérifié chaque seconde quelque soit la durée de la barre : elle est peut-être vérifiée chaque seconde ou chaque tick mais le résultat n’est pris en compte que lorsque la barre est clôturée et non pas pendant qu’elle est entrain de se tracer …
Cdlt
Pour lire le code plus souvent à l’intérieur d’un chandelier, on peut utiliser le multi timeframe (soit descendre en unité de temps pour lire le code à chaque fermeture de barre dans une UT plus petite mais toujours en utilisant des données d’autres UT), voir ce sujet qui explique la base à ce propos, il y a bien d’autres exemples à travers le forum:
Première approche sur le multi timeframe avec ProRealTime
Merci beaucoup ! voila qui répond à la question sur le fonctionnement nominal de ProOrder et de ProBackTest : ils ne vérifient le code que sur les barres clôturées, et donc pas sur les barres ‘en live – non clôturées’ (ProOrder), et pas sur des timeframe inférieurs à ceux de la barre (ProBackTest). Je comprends qu’on peut modifier cela en utilisant la logique des TimeFrame.
Merci encore et à bientot
Cdlt
Le code n’est lu qu’une seule fois par chandelier à sa clôture et les ordres lancés à l’ouverture suivante.
Mais, on peut très bien vérifier des conditions X fois dans le même chandelier, exemple:
timeframe(1 hour)
irsi=rsi[14]
timeframe(1 minute)
if irsi crosses over 50 then
buy at market
endif
En lançant ce code en timeframe 1 minute on vérifie la valeur du RSI 14 périodes du timeframe 1 heure et on prend acte de son croisement . Donc on vérifie cela 60 fois par heure (puisque 60 bougies de 1 minute dans un chandelier d’1 heure).
Bien entendu, puisque la valeur du RSI 1 heure change tant que le chandelier n’est pas clôturée, sur un graphique historique en 1-heure il se pourrait que le irsi soit toujours sous le niveau 50 et qu’un ou plusieurs ordres ai été passé durant celui-ci (à condition d’avoir ajouté des conditions de clôture bien sûr). Cela semble évident, mais je préfère le signaler, car ça revient souvent dans les questions..
Merci, c’est super clair ! je vois comment ca marche maintenant.
Bonne continuation
Cdlt