problème du numéro de la première barre

Forums ProRealTime forum Français Support ProOrder problème du numéro de la première barre

Viewing 4 posts - 1 through 4 (of 4 total)
  • #77219

    Bonjour à tous,

    Je débute avec PRT, je ne code que depuis 15 jours donc je demande l’indulgence du jury !

    Alors voici mon problème: je connais bien les commandes BarIndex et TradeIndex, ça ça va. Je sais aussi qu’avec la commande Timeframe on peut construire des robots fonctionnant à divers niveaux de temps. Dans mon cas, mon robot est en 2 parties, 1 partie qui fait des positions longues sur 1mn et 1 partie qui fait des courtes sur 15mn.

    Oui mais voilà. Lorsque j’exécute mon robot “bitemporel”, la commande barindex s’adapte parfaitement à l’échelle de temps; j’ai donc 2 barindex, disons barindex1 pour le 1mn et barindex15 pour le 15mn. Le problème vient avec la commande tradeindex qui, elle, me sort le barindex du dernier ordre, mais toujours le barindex1. La commande tradeindex est donc buguée pour la partie de mon robot qui fonctionne sur 15mn.

    Ce n’est pas grave: en gros, barindex15=15*barindex1. Je peux donc facilement calculer barindex15. Mais à condition de connaître le barindex1 et le barindex15 de la PREMIERE bougie. Pour les backtests, c’est facile: barindex1 vaut toujours 1000, et barindex15 vaut toujours 999 (et pourquoi ? mystère…): on a donc barindex15=round(15*(barindex1-1000)+999. Parfait. Mais quand ce n’est plus un test, on fait comment ?

    D’où ma question: lorsque j’appuie sur le bouton “start” pour mettre mon robot en route, comment puis-je calculer ou connaître le barindex sur du 1mn et sur du 15mn ? Bien sûr je peux coder “once IndexStart=Barindex” au tout début de chaque partie de mon robot, mais s’il y a une réponse plus simple, je suis preneur.

     

    Aucun rapport, mais j’en profite pour une toute petite question: le manuel (confirmé par Nicolas dans un vieux post) indique que le code est lu à chaque fin de bougie. Mais mon prof de trading m’a dit que ça avait changé, et que maintenant PRT fonctionne en tick par tick. C’est vrai ça ? Parce que dans mes tests, à chaque fois que j’achète, c’est au prix d’ouverture, donc le tick par tick, ça m’a l’air d’être du vent…

     

    Désolé pour le caractère un peu technique de mon post,

    Cordialement,

    Sébastien Bosca.

    #77265

    Bonjour,

    Le barindex représente le numéro de la barre affichée/lue par le graphique depuis le début de son historique. Puisque on utilise un timeframe “default” (soit le 1 minute dans ton cas, puisque c’est le plus petit et celui qui cadence la lecture du code) pour exécuter la stratégie, le barindex de la stratégie sera forcément toujours celui de cette unité de temps.

    Aucun rapport, mais j’en profite pour une toute petite question: le manuel (confirmé par Nicolas dans un vieux post) indique que le code est lu à chaque fin de bougie. Mais mon prof de trading m’a dit que ça avait changé, et que maintenant PRT fonctionne en tick par tick. C’est vrai ça ? Parce que dans mes tests, à chaque fois que j’achète, c’est au prix d’ouverture, donc le tick par tick, ça m’a l’air d’être du vent…

    Le comportement de ProBacktest/ProOrder n’a pas changé, le code est toujours lu à la clôture de la bougie et les ordres envoyés à l’Open suivant. Certes les backtests sont maintenant en tick par tick et cela nous permet de savoir avec précision où se situait le prix entre 2 bougies, du coup les niveaux de prix sont testés à l’heure dite et non plus arbitrairement une seule fois par chandelier. L’ajout du multi timeframe permet en plus désormais d’utiliser des infos d’indicateurs (par exemple) en données 1 heure (exemple) et de prendre des décisions de trading à la seconde prés en TF 1 seconde.

    #77286

    Bonjour Nicolas,

    Merci beaucoup pour tes 2 réponses très claires. Je prends bien note du fait que ce qui cadence le code est l’unité de temps la plus petite et qu’on peut en profiter pour accéder à des infos basées sur des unités plus fines: très pratique !

    Mais du coup pour accéder au numéro de la première bougie tu me conseilles un “once StartIndex = Barindex” en première ligne (juste après le timeframe) ?

    En tout cas merci pour ta réactivité !

     

    #77634

    Oui tu peux utiliser cette façon de faire. Mais je pense que StartIndex sera toujours égale à la première barre lue de l’historique, soit 0 ou 1 (à vérifier).

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

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