Double conditions d’achat via horaire

Forums ProRealTime forum Français Support ProOrder Double conditions d’achat via horaire

Viewing 5 posts - 1 through 5 (of 5 total)
  • #227236

    Bonjour,

     

    J’aurais besoin d’aide pour faire évoluer mon code svp.

    C’est un bot à l’achat qui utilise un supertrend  et un stochastique.

    Lorsque le prix est supérieur au supertrend et que le stochastique croise à la hausse la valeur 20. il prends une position à l’achat. il prend toujours le premier croisement à la hausse du stochastique (lorsque le prix est supérieur au supertrend) car je suis en defparam cumulateorders=false

    j’ai cependant un problème. Le bot démarre à 8h.

    Si à 8h le prix est déjà supérieur au supertrend, le bot va prendre une position dès que le stochastique croisera à la hausse 20. Hors, je souhaiterais que pour l’ouverture du bot à 8h, si le prix est déjà supérieur au supertrend, il ne prenne pas de position (et attende que le prix croise à la baisse le suprentrend, puis le recroise à la hausse pour attendre le signal du stochastique).

     

    Pourriez- vous m’aider?

    Merci d’avance.

    Ci dessous le code.

    Je reste disponible si vous avez des questions.

    #227240

    Pour modifier votre code de trading automatisé afin qu’il ne prenne pas de position à 8h si le prix est déjà supérieur au Supertrend, vous pouvez ajouter une condition supplémentaire. Cette condition vérifiera si le prix était inférieur au Supertrend à la clôture de la session précédente. Si c’est le cas, cela signifie que le prix a franchi le Supertrend à la hausse après 8h, et le bot peut alors prendre une position sur le premier croisement à la hausse du stochastique.

    Voici comment vous pourriez modifier votre code :

    Dans ce code, la variable crossedAfterOpen est ajoutée pour vérifier si le prix était inférieur au Supertrend à la clôture de la session précédente (close[1] <= st1[1]) et s’il est actuellement supérieur au Supertrend (close > st1). Cette condition supplémentaire permet au bot de ne prendre une position que si le prix a franchi le Supertrend à la hausse après l’heure de début (8h).

    #227279

    Merci pour vos lignes de code et la découverte de la fonction crossedAfterOpen Nicolas.

    Malgré ces modifications, lorsque j’exécute le code, il prend seulement quelques positions sans logique. Savez-vous d’où cela peut provenir?

    En PJ le code qui fonctionne sans crossedAfterOpen ainsi que avec la fonction.

     

    Merci d’avance.

    #227306

    Bonjour,

    Je pense que le code proposé par Nicolas ne correspond pas à ce que vous demandez. Sa variable crossedAfterOpen a la valeur TRUE uniquement sur la bougie qui croise le supertrend  à la hausse. Sur les bougies suivantes, au-dessus du supertrend, la variable a la valeur FALSE (puisque la bougie précédente n’est pas en-dessous du supertrend). Dans cette version, pour entrer en position, il faut donc avoir sur le même bougie à la fois le croisement à la hausse du supertrend et le croisement à la hausse du 20 par le stochastique.

    Je crois que vous voulez entrer en position sur le premier croisement du 20 par le stochastique qui suit le croisement à la hausse du supertrend, pour autant que celui-ci ait lieu après 8 heures.

    Je pense que le code suivant répond à cette demande:

    #227421

    Bonjour Alain,

    Oui c’est effectivement l’idée.

    Merci pour ces lignes de code.

    La condition d’entrée marche effectivement avec les lignes ci dessous:

    if timec then
    if close crosses over st1 then
    trading = 1
    elsif close crosses under st1 then
    trading =0
    endif
    else
    trading = 0
    endif

     

    Merci 🙂

     

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

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