PRT Bands – l’indicateur de trend following de ProRealTime

Viewing 15 posts - 136 through 150 (of 384 total)
  • Author
    Posts
  • #143541 quote
    Nicolas
    Keymaster
    Master

    Merci c’est plus clair 🙂

    Le code du screener ci-dessous filtre les actions ayant un volume d’échange moyen sur les 20 derniers jours supérieur à “volumeMini” et qui sont à proximité de “proxMax” de la bande supérieure et en tendance baissière :

    proxMax = 3 //en pourcentage 
    volumeMini = 100000
    
    // ---------------------
    up = PRTBandsUp
    dn = PRTBandsDown
    
    //le prix casse la bande supérieure
    if close crosses over up and trend <= 0 then
    trend = 1
    elsif close crosses under dn and trend >= 0 then
    trend = -1
    endif
    
    test = trend=-1 and close/PRTBandsUp>=1-proxMax/100 and average[20](volume)>volumeMini
    
    screener [test](close/PRTBandsUp*100 as "%prox PRTBandsUp")
    
    #143559 quote
    Orson
    Participant
    Junior
    Nickel Nicolas, c’est parfait
    #143725 quote
    Léo
    Participant
    Average

    Bonjour à tous, Bonjour Nicolas,

    J’ai essayé d’écrire le code suivant pour backtester la stratégie. Je suis débutant et le code ne fait clairement pas ce que je voudrais qu’il fasse, notamment sur les sorties et la remise à zéro des flags.

    Pourrais tu y jeter un oeil et corriger mes erreurs ?

    Merci d’avance.

    Cordialement.

    // Strategy PRT Bands : Léo
    // Achat si tendance baissière et Close crosses over PRTBandsUp
    // Achat si tendance haussière et Close crosses over PRTMidTerm ou ShortTerm
    // Vente 50% si Close crosses under PRTBandsShortTerm
    // Vente 50% si Close crosses under PRTBandsMidTerm
    // Vente 100% si Close crosses under PRTBandsShortTerm
    // SL sous les plus bas des 3 dernières bougies
    // SL = Max 300 €
    
    Defparam CumulateOrders = false
    
    // Instructions PRTBands :
    up = PRTBandsUp
    dn = PRTBandsDown
    MT = PRTBANDSMEDIUMTERM
    ST = PRTBANDSSHORTTERM
    
    // Calcul du Stop Loss et de la taille de position
    SL = High - Lowest[3](low)
    PositionSize = 300 / SL
    
    //Definition de la tendance (Code Nicolas)
    //le prix casse la bande supérieure
    if close crosses over up and trend <= 0 then
    trend = 1
    elsif close crosses under dn and trend >= 0 then
    trend = -1
    endif
    
    //Conditions Achat:
    
    Buylevel = High+1
    Selllevel = Low-1
    
    if not onmarket then
    if trend[1]=-1 and trend=1 then
    BUY PositionSize Contract at buylevel stop
    endif
    else
    if trend=1 and close crosses over MT then
    BUY PositionSize Contract at buylevel stop
    endif
    endif
    
    //Conditions de sortie:
    
    if not onmarket then
    FlagSt=0
    FlagMT=0
    endif
    
    if longonmarket and close crosses under ST and flagSt=0 then
    Sell (50/100 * countofposition) contract at SellLevel stop
    flagST=1
    endif
    
    if longonmarket and close crosses under MT and flagMT=0 then
    Sell (50/100 * countofposition) contract at SellLevel stop
    flagMT=1
    endif
    
    if longonmarket and close crosses under DN then
    Set stop ploss (close-low-1)
    endif
    
    // definition du Stop Loss
    // Set Stop ploss SL
    
    #143754 quote
    Nicolas
    Keymaster
    Master

    Les ordres STOP doivent être remis à chaque barre, puisqu’ils expirent à chaque fin de bougie, si tu veux qu’ils soient toujours présents bien entendu, et c’est ce que tu veux ?

    Hors dans ta stratégie, tu ne les poses qu’une seule fois, puisque flagSt doit être égale à 0 et tu le passes à 1 dés que tu poses un ordre STOP.

    Ceci étant il y a un autre problème, ton ordre stop est posé qu’une seule fois aussi parce que l’événement de croisement n’a lieu qu’une seule fois ..

    #143777 quote
    Léo
    Participant
    Average

    Bonjour Nicolas,

    Merci pour ton retour.

    Oui c’est ça, j’aimerais que les ordres Stop soient posés de manière définitive :

    • Au moment de la prise de position, j’aimerais que le stop soit posé sous les plus bas précédents dans la limite de 300 € (dans mon exemple).
    • Si une fois en position et que (i) le cours actuel est supérieur au cours au moment de la prise de position et (ii) PRTBandsShortTerm ou PRTBandsMediumTerm sont cassés à la baisse, j’aimerais qu’un ordre stop soit posé sous les plus bas de la bougie de manière définitive pour 50% de la position (et éventuellement que les 50% restants soient à BE)
    • Si une fois en position, PRTBandsDown est cassé à la baisse, je veux qu’un ordre stop soit posé sous les plus bas de la bougie de manière définitive pour les 100% restants.

    J’ai ajouté des flags pour m’assurer que les prises de bénéfice ne se font qu’une fois – je ne sais pas si c’est la bonne méthode pour le faire. Je pensais les remettre à zéro si on est sorti du marché (pour éviter qu’ils empêchent de prendre des bénéfices sur les futurs trades).

    Merci de nouveau pour ton aide.

    #143816 quote
    Nicolas
    Keymaster
    Master

    Les sorties partielles ne fonctionnent qu’en backtests, pas en trading réel. Il faudrait revoir la stratégie 🙂

    #144043 quote
    Crocky
    Participant
    Junior

    Bonsoir,

    Je suis sur un MAC avec la version PRT 10.3 est j’ai toujours le bug avec les pourcentages affichés tout à gauche.

    Il faut faire une mise à jour de PRT ? désinstallation-réinstallation ?

    Merci et bonne soirée

    #144073 quote
    Nicolas
    Keymaster
    Master

    Possible de partager une copie d’écran pour visualiser quelle est ce bug d’affichage sous MAC stp ? Merci.

    #144407 quote
    RV1974
    Participant
    Average

    Bonjour,

    Dans le screener de Orson, peut-on rajouter des critères suivant:

    • La mm200, qui doit être au mieux supérieure au cours de cloture au pire à -5% du cours de cloture.
    • Le cours de cloture doit-être au-dessus de la MM20
    • La ligne cours terme PRT Bands doit être en hausse par rapport au précédent journalié.

    Merci d’avance pour votre aide.

    Cordialement

    #144420 quote
    Nicolas
    Keymaster
    Master

    @RV1974

    Ci-dessous le code du screener de Orson modifié avec tes critères en sus (dans la variable “test2”).

    proxMax = 3 //en pourcentage
    volumeMini = 100000
    
    // ---------------------
    up = PRTBandsUp
    dn = PRTBandsDown
    mid = PRTBandsMediumTerm
    avg200 = average[200]
    avg20 = average[20]
    
    //le prix casse la bande supérieure
    if close crosses over up and trend <= 0 then
    trend = 1
    elsif close crosses under dn and trend >= 0 then
    trend = -1
    endif
    
    test1 = trend=-1 and close/PRTBandsUp>=1-proxMax/100 and average[20](volume)>volumeMini
    
    test2 = close/avg200>=.95 and close>avg20 and mid>mid[1]
    
    screener [test1 and test2](close/PRTBandsUp*100 as "%prox PRTBandsUp")
    #144521 quote
    RV1974
    Participant
    Average

    Merci Nicolas, pour ton aide, c’est ce que je cherchais.

    #144560 quote
    lallaimon
    Participant
    New

    Bonjour à tous et par avance merci 🙂

    Je suis totalement novice en programmation, j’utilise PRT en version 11.1. version gratuite. J’aurais aimé créer un proscreener permettant chaque fin de semaine de détecter un changement de “polarité” hebdo (basculement en vert disons) avec prt bands.

    En essayant de copier les programmes issus de cette discussion, je vois que Proscreener refuse (dans mon cas semble t il) la fonction (est ce le bon terme?) backgroundcolor, si bien que je ne peux lancer le test.

    Merci pour vos lumières…

    #144561 quote
    Nicolas
    Keymaster
    Master

    Car tu as utilisé le code d’un indicateur dans la fenêtre de ProScreener, ce sont des codes différents.

    Screener du détection du changement de tendance, du rouge au vert :

    up = PRTBandsUp
    dn = PRTBandsDown
    
    if close crosses over up and trend<=0 then //le prix casse la bande supérieure
     trend=1 //tendance haussière
    elsif close crosses under dn and trend>=0 then //le prix casse la bande inférieure
     trend=-1 //tendance baissière
    endif
    
    screener[trend=1 and trend[1]=-1]
    #144568 quote
    lallaimon
    Participant
    New

    Merci Nicolas, votre programme et le meilleur résultat que j’ai obtenu pour le moment. Ca fonctionne. Sans vouloir abuser de votre patience, les résultats obtenus font figurer des titres dont le passage en “vert” date déjà de quelques semaines parfois. Comment puis je “limiter ” les résus?

    #144570 quote
    Nicolas
    Keymaster
    Master

    Désolé c’est une erreur, j’ai modifié le code ci-dessus.

Viewing 15 posts - 136 through 150 (of 384 total)
  • You must be logged in to reply to this topic.

PRT Bands – l’indicateur de trend following de ProRealTime


Trading Général : Analyse Marchés & Discrétionnaire

New Reply
Author
author-avatar
Nicolas @nicolas Keymaster
Summary

This topic contains 383 replies,
has 73 voices, and was last updated by Etienne Barthelemy
5 months ago.

Topic Details
Forum: Trading Général : Analyse Marchés & Discrétionnaire
Language: French
Started: 07/22/2020
Status: Active
Attachments: 66 files
Logo Logo
Loading...