Codage du prix courant, croisement en temps réel et pas à fin de bougie

Forums ProRealTime forum Français Support ProBuilder Codage du prix courant, croisement en temps réel et pas à fin de bougie

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

    Bonjour,

    je souhaiterais coder un contact du prix COURANT d’une bougie avec une moyenne mobile. Pas le prix d’ouverture ou de clôture d’une bougie mais le prix courant. C’est à dire que dès que le prix touche la moyenne mobile la condition est remplie. Ceci est pour jouer les rebonds.

    Ca paraît simple, mais je n’ai trouvé nulle part….

    En gros, comment remplacer “close” dans la formule suivante pour avoir le prix courant d’une bougie et non pas son prix de clôture  : close crosses under Average[3](low)

    Merci pour votre support

    #142961

    Close est bien le prix courant tant que la bougie n’est pas clôturé. Cependant, comme le code est lu à chaque fin de bougie, c’est en effet le prix de clôture de la bougie et pas le prix durant la bougie. Pour lancer un order sur un seuil de prix durant une bougie, tu peux utiliser un autre conditionnel, dans ce cas, si tu vendre à découvert au croisement d’une moyenne mobile (et que le prix est au dessus), tu fais :

     

    2 users thanked author for this post.
    #142975

    Merci pour l’astuce Nicolas.

    par contre je n’arrive pas à l’insérer dans une série de conditions, voila mon code d’origine dans lequel je voulais remplacer “close” par le prix courant.

    Est-ce possible?

    Merci à vous

    #143018

    Dans ce genre de cas, il vaudrait mieux utiliser 2 timeframes différents, celui de la stratégie et un plus petit pour prendre les ordres dés que le prix courant (donc à l’intérieure du chandelier croise ta moyenne mobile).

    Soit :

    grâce à “timeframe(default)”, si tu lances la stratégie en UT 1 seconde, ce qui se passe dans l’UT 5-minutes sera testé toutes les secondes et tu pourras alors prendre un ordre dés que le prix actuel croise cette moyenne mobile.

    2 users thanked author for this post.
    #143097

    Bonjour Nicolas,

    ça marche parfaitement!

    Merci beaucoup!

    #218168

    Bonjour,

    J’ai le même problème que Dragon.

    J’utilise le graphe principale en 5minutes pour visualier le cour en live ou j’ai toute ma stratégie et toutes les variables rattachées, mais je souhaiterai pouvoir passer des ordres en 1 minute, sauf que dans le 1 minute il utilise des variables qui sont aussi dans le 5 mn (ce sont les conditions d’achats et de ventes). Comme on ne peut pas passer des variables d’un timeframe à un autre comme dans les autres types de programmations, comment fait on ?

    Faut il déclarer toutes les variables en commun au début du programme ? Y t’il une astuce pour faire cela ?

    Si quelqu’un à une idée la dessus ?

    En vous remerciant.

    #218199

    On peut utiliser des variables entre les différents timeframes, mais pas leur affecter des valeurs, sinon en fonction de l’update des temporalités différentes, cela deviendrait un casse tête de savoir quelle valeur a été affecté et quand.

    Si les conditions sont réunis en UT 5-minutes, on les teste en UT 1-minute et on prend action, comme dans mon dernier exemple: https://www.prorealcode.com/topic/codage-du-prix-courant/#post-143018

    Si tu veux que j’intervienne dans ton code, poste le ici et je ferai le nécessaire, merci.

    #218228

    Bonjour Nicolas, est-ce que sur le 5 minutes le système attent que la bougie cloture pour que le code soit lu et executé à l’open de la bougie suivante ?

    Car si c’est le cas, on ne peut donc pas envoyer un ordre au marché en quelques secondes à l’intérieur de la bougie 5 minutes.

     

    J’ai une condition en timeframe 5 minutes avec donc tout mon programme en timeframe 5mn y compris toutes les variables à l’intérieur et le mon code.

    En fin de programme, avant le return, j’ai mon timeframe 1mn dans lequel je test la variable et si elle est ok il lance un ordre au marché.

    Déjà, j’avais fait ce code et je l’ai lancé, mais il y avait un problème de multiple de timeframe. J’ai donc mis ‘default’ à la place de 1mn et j’ai ouvert le graphique en 1mn déjà pour voir ce qui se passe. Ben ca ne le fait pas.

    Tu dis dans l’exemple, le timeframe 1 mn vérifie toutes les minutes si la condition dans le 5mn est réalisée, ok mais si pour savoir si la condition se réalise dans le 5mn il faut attendre la fin de sa bougie 5mn , ce n’est pas jouable.

    C’est cela que je n’arrive pas à saisir, le déroulement d’une opération entre deux timeframe ou l’un se sert de l’autre pour passer des ordres et en fonction des bougies en cours dans les 2 unités de temps.

    Merci

    #218265

    Tu dis dans l’exemple, le timeframe 1 mn vérifie toutes les minutes si la condition dans le 5mn est réalisée, ok mais si pour savoir si la condition se réalise dans le 5mn il faut attendre la fin de sa bougie 5mn , ce n’est pas jouable.

    Pas d’inquiétude 🙂

    Voici 2 exemples qui vont te permettre de bien comprendre comment il est possible de trader à l’intérieur d’une bougie :

    Exemple #1: à chaque bougie qui se termine du timeframe ‘default’ (soit le timeframe sur lequel tu vas lancer la stratégie), on teste les conditions de la variable “test” du timeframe 5-minutes à l’instant T (et donc sans attendre sa clôture).

    Exemple #2: à chaque bougie qui se termine du timeframe ‘default’ (soit le timeframe sur lequel tu vas lancer la stratégie), on teste les conditions de la variable “test” du timeframe 5-minutes de la dernière bougie clôturée (soit la précédente), grâce à l’ajout de l’option “updateonclose”.

    Avec l’exemple #1, tu pourras très bien lancer la stratégie sur un timeframe 1-seconde et donc tester 5 * 60 = 300 fois les conditions du timeframe 5-minutes avant qu’il se termine.
    J’espère que c’est plus clair pour toi désormais. Merci.

    #218298

    C’est plus clair pour moi. Merci beaucoup pour ta contribution. Bonne journée.

    #231268

    Bonsoir Nicolas et à vous tous,

     

    je galère pas mal pour essayer de mettre en place la fonction timeframe dans mes stratégies.

    Merci déjà pour vos explications sur la fonction timeframe

    Dans les stratégies en 1mm sur l’euro/dollar, je suis pris à contre-pied assez souvent, lors décalages violents provoqués par exemple, par les annonces de la Fed et/ou de la BCE. Pour résoudre ce problème, je souhaite intervenir sur la bougie 1mn en cours en ajoutant à la vente une condition supplémentaire  c7 et c17) qui serait scrutée à chaque seconde.

    pour illustrer ma demande, ci-dessous une stratégie simple

    En 1 minute, les conditions c5, c6 et c15, c16 avec timeframe(1 minute)

    En 1 seconde, les conditions c7 et c17 avec timeframe(default)

    Pourriez-vous m’aider à insérer ces 2 fonctions sur le programme ci-dessus pour que pendant la bougie active d’1mn, l’on puisse sortir du marché en cas de retournement violent.

    Merci

     

     

    #231320

    Si j’ai bien compris l’idée, voici ton code modifié:

    #231370

     

    Bonsoir Nicolas

    Tout d’abord, un grand merci pour ton retour. Tu as bien compris mon sujet.. Ton codage est clair et j’ai l’impression de le comprendre. Cependant, j’ai toujours un problème pour l’exécution. Je dois avoir encore un problème de raisonnement.

    Je m’explique :

    stratégie EURO/DOLLAR en 1mn

     

    j’exécute le programme en unité 1mn pour définir les différentes valeurs (a1, a2, r1, la1) sauf xx1 que je met à “1” ce qui a pour effet de rendre inopérant les conditions c7 et c17; Si je comprends bien l’idée, dans ce cas, la commande “timeframe(default)”, prendra l’unité “1mn” et n’interféra pas sur le résultat. J’ai d’ailleurs les mêmes résultats avec le programme sans les commandes “timeframe”. Jusqu’ici tout va bien.

    J’exécute ensuite le programme en unité “1 seconde” (unité dans laquelle nous devons tester la stratégie si j’ai bien compris) en laissant xx1 à “1” dans un 1er temps, ce qui a pour effet de rendre inopérant les conditions c7 et c17 et je devrais donc obtenir, les mêmes performances que précédemment dans le temps “1mn” ce qui n’est pas du tout le cas. Pourquoi?

    Si tu peux éclairer ma lanterne sur ce mystère? Merci à toi

     

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