Problème de condition avec le symbole différent

Forums ProRealTime forum Français Support ProOrder Problème de condition avec le symbole différent

Viewing 9 posts - 1 through 9 (of 9 total)
  • #142656

    Bonsoir,

    Je test une stratégie et je veux qu’elle ne se lance qu’une fois par jour.
    Alors oui il y a notamment:
    https://www.prorealcode.com/topic/code-une-question/

    Mais je veux pouvoir tester 2 fois par jour, 3 fois par jour etc…

    Pour plus de clarté je n’ai pas mis mon script en entier juste ce qui pause problème.
    Les GRAPH sont correct mais si je mets:

    C’est à dire “0” pour iteration à chaque changement de journée, en fait le GRAPH m’indique qu’il est à 0 tout le temps…
    Dans l’exemple, iteration passe bien à 2 lors d’un achat, mais juste pour 1 bougie. Il revient aussitôt à 1 et donc, la condition ” iteration <= iterationMax” est à nouveau vrai alors qu’elle devrait être fausse jusqu’à 23h59.

    Vous l’avez compris, l’objectif est de pouvoir changer “interationMax” comme je veux afin d’avoir autant d’achat que je veux.

    Une idée svp ?

    #142680

    Tu n’as pas supprimé “ONCE iteration    = 1″ en tête de ton code peut être ?

    #142683

    Mais le ONCE n’est effectué qu’une seule fois non ?

    ou à chaque chargement du code ?

    je croyais que c’était valable que pour le premier lancement du script et que pour les bougies suivantes ce n’était pas exécuté.

    #142689
    OLG

    Si j’ai bien compris tu veux que ton système ne place qu’un seul ordre par jour ?

    Si c’est ca alors tu peux simplifier ton code :

    Et pour répondre à ta question, oui le code ONCE n’est exécuté qu’a la première itération de chaque lancement (si tu arrêtes et relances il se ré execute une fois)

    #142692

    oui je veux 1 ordre par jour, OU 2 ordres par jours, OU 3…

    d’où la variable « iteration ».

    Le ONCE n’est bien exécuté qu’à la toute première bougie ?

    et ensuite il devrait être égale 2 tous le temps sauf en cas de changement de journée ? J’ai l’impression que le symbole « <> » ne fonctionne pas en fait.

    #142714
    OLG

    Ok je n’avais pas compris, ton code me semble bon après une rapide itération de tête (même si pas optimisé), ce qui me fait dire que l’erreur vient du code que tu as supprimé pour plus de clarté.

    Pour être le plus clair possible, le ONCE est exécuté à la première itération de ton code. Ton code est itéré (exécuté) à chaque clôture de bougie. Et ce sur l’historique que tu as sélectionné dans le cas d’un BackTest ou d’un indicateur.

     

    #142727

    ONCE est en effet utilisé qu’une seule fois à la première lecture du code (1ère bougie). J’ai fait la remarque car je ne savais pas si le problème était à la première itération ou sur toutes les autres également ? Comme le stipule OLG, il y a sans doute autre chose à creuser dans le code complet ?

    DayOfWeek = tu devrais remplacer avec OpenDayOfWeek.

    Pour le reset de variables au début d’une journée, j’ai l’habitude d’utiliser plutôt ceci :

     

    #142734

    Merci de vos réponses.

    Je confirme que le problème vient, pour une raison que j’ignore, de:

    Car si je mets:

    Alors le graph me mets en 2 à après chaque fin de position.
    ET:
    Le problème est résolu en adoptant ta solution, Nicolas. Ce code fonctionne parfaitement, en remplacement du mien, sans rien toucher d’autre.

    A croire que <> ne fonctionne pas et que le contenu est exécuté à chaque bougie. Pourtant graph bougie est bien différent de graph DayOfWeek.

    Enfin bon c’est résolu, merci 😉

    #143017

    Si tu GRAPH dayofweek, tu y verras peut être plus clair. As-tu essayé OpenDayOfWeek, comme je te le faisait remarquer plus haut ?

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

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