ExtraTrend – exemples de codage screeners et programmation personnalisee

Viewing 15 posts - 1 through 15 (of 516 total)
  • Author
    Posts
  • #170589 quote
    Nicolas
    Keymaster
    Master

    Bonjour,

    Suite à de très nombreuses demandes, et pour éviter de disperser les informations dans plusieurs sujets à travers les forums du site, j’ouvre ce sujet sur les différentes programmation possible avec l’indicateur ExtraTrend que vous retrouverez dans la Marketplace.

    Je vais compiler dans ce premier post l’ensemble des codes personnalisées qui seront disponibles dans la file au fil des demandes.

    1. signaux de trading extratrend (début tendance haussière ou baissière): https://www.prorealcode.com/topic/extratrend-exemples-de-codage-screeners-et-programmation-personnalisee/#post-170591
    2. screener détection nouvelle tendance haussière (ou fin de tendance haussière / début tendance baissière): https://www.prorealcode.com/topic/extratrend-exemples-de-codage-screeners-et-programmation-personnalisee/#post-170593
    3. screener listant les trends haussiers classés par durée : https://www.prorealcode.com/topic/extratrend-exemples-de-codage-screeners-et-programmation-personnalisee/#post-170686

     

    Vous pouvez formuler vos demandes dans cette file, je tacherai de les programmer rapidement (et vous pouvez aussi présenter vos exemples ! 😉 )

    tcourtai, Guilin, Orson and 3 others thanked this post
    #170591 quote
    Nicolas
    Keymaster
    Master

    Exemple pour détecter avec un indicateur les débuts de tendance haussière (apparition bande bleue) et tendance baissière (disparition bande bleue). Les signaux sont ici matérialisées par des pics verts ou rouges (voir image jointe).

    myTrend, myNeutral, myExpansion = CALL "ExtraTrend"[0, 0, 0, 0, 0](close)
    
    uptrend = myTrend <> myExpansion //ExtraTrend bande bleue
    dntrend = myTrend = myExpansion 
    
    newDnTrend = dntrend and not dntrend[1] //nouvelle tendance baissière (bande bleue)
    newUpTrend = uptrend and not uptrend[1] //nouvelle tendance haussière (bande bleue)
    
    return newDnTrend coloured(255,0,0), newUpTrend coloured(0,255,0)
    
    Guilin and Bodin thanked this post
    #170593 quote
    Nicolas
    Keymaster
    Master

    Screener reprenant cet indicateur pour détecter le tout début d’un signal haussier ou sa fin avec l’aide du signal baissier (disparation de la bande bleue).

    myTrend, ignored, myExpansion = CALL "ExtraTrend"[0, 0, 0, 0, 0](close)
    
    uptrend = myTrend <> myExpansion //ExtraTrend bande bleue
    dntrend = myTrend = myExpansion 
    
    newDnTrend = dntrend and not dntrend[1] //nouvelle tendance baissière (bande bleue)
    newUpTrend = uptrend and not uptrend[1] //nouvelle tendance haussière (bande bleue)
    
    if newDnTrend then 
     signal=-1
    else
     signal=1
    endif
    
    screener[newUpTrend OR newDnTrend](signal as "Trend")
    

    Le type de signal est indiqué dans la colonne de critère de tri de ProScreeer (1 = haussier ; -1 = fin haussier ou baissier)

    Guilin, Balmora74, Orson, StéphaneM and arolee21 thanked this post
    #170596 quote
    Orson
    Participant
    Junior

    Merci Nicolas pour ce nouveau topic, on va pouvoir commencer à réfléchir à des idées de screeners pour utiliser au mieux ce nouvel outil développé par Christophe…

    Guilin and GC Slr David thanked this post
    #170629 quote
    Corto78
    Participant
    Senior

    Bonjour,

    Quelles sont les données liées à l’indicateur et accessibles via le ProScreener ?

    Est ce que la résistance dynamique est accessible pour déceler les valeurs qui la franchissent ?

    Idem pour ShortTermResistance ?

    Merci d’avance

    #170632 quote
    Nicolas
    Keymaster
    Master

    Je ne pense pas que ces informations soient restituées par l’indicateur, mais je crois que son auteur va ajouter d’autres variables dans une mise à jour à venir.

    #170686 quote
    Corto78
    Participant
    Senior

    Bonjour à tous,

    Aller, j’ouvre le bal, voici un petit Screener permettant d’extraire les plus longs Trend haussier grâce à ce très beau indicateur mis à notre disposition par Christophe.

    désolé, mais je ne connais pas la méthode pour mettre directement le code dans le message (cf. messages de Nicolas ci-dessus), merci Nicolas de m’indiquer la marche à suivre.

    il est ultra simple et j’espère qu’il y en aura plein d’autre partages :

    // Les plus longs trend
    myTrend, ignored, myExpansion = CALL "ExtraTrend"[0, 0, 0, 0, 0](close)
    j=0
    WHILE myTrend[j] <> myExpansion[j] DO
         j=j+1
    if j=254 then
        BREAK
    endif
    WEND
    SCREENER[j<>0] (j)
    Nicolas, Guilin, Orson, @gildasilva56 and arolee21 thanked this post
    #170689 quote
    Corto78
    Participant
    Senior

    L’indicateur semble fonctionner sur deux modes (TrendFollowing, sans TrendFollowing).

    Lors de l’appel à la fonction dans un Screener, quel est le mode utilisé ?

    Est-il possible de faire un appel à la fonction en précisant le mode désiré ?

    Les données retournées (myTrend, myNeutral, myExpansion) n’ont j’imagine pas les mêmes valeurs (il suffit de regarder les graphes pour constater la différence.

    Merci d’avance

    Guilin thanked this post
    #170690 quote
    Nicolas
    Keymaster
    Master

    Pour récupérer la valeur des courbes en mode “trend following”, le CALL de l’indicateur serait :

    myTrend, myNeutral, myExpansion = CALL "ExtraTrend"[1, 0, 0, 0, 0](close)

    La première valeur des paramètres passe à 1 (1 correspond à la case cochée dans les paramètres de l’indicateur puisque 1=vrai et 0=faux).

    Corto78, Luciole and Orson thanked this post
    #170699 quote
    Corto78
    Participant
    Senior

    Un Screener permettant de retourner la liste des valeurs débutant un retournement à la hausse dans un Trend Haussier (option sans “trend following”).

    Les valeurs retournées sont plus proche de la borne basse du canal (“Neutral Line”) que de celle du haut (“Expansion Line”).

    Je mettrai le même algorithme avec l’option “trend following”  dans un deuxième message

    //
    condvolume= Average[200](volume)>15000 //permet d'éviter les valeurs peu liquides
    
    //calcul de la moyenne mobile 4 périodes pondérée par les volumes
    tempValue = 0.0
    tempVolume = 0.0
    for step = 0 to 3 do
    tempValue = tempValue + (((close[step]*volume[step]))) //+high[step]+low[step])/3)
    tempVolume = tempVolume + volume[step]
    next
    myVWMA = tempValue / tempVolume
    
    //Recherche des Trend Haussier (sans option "trend following")
    myTrend, myNeutral, myExpansion = CALL "ExtraTrend"[0, 0, 0, 0, 0](close)
    uptrend = myTrend <> myExpansion
    
    //Calcul de la distance entre la clôture et la borne haute et basse du Trend
    DistNeutral = ((close-myNeutral)/close)*100
    DistExpans = ABS((myExpansion-close)/close)*100
    
    //retournement à la hausse de la VWMA(4) sur Trend Haussier proche de la borne basse
    
    ca = myVWMA[2]>myVWMA[1] and myVWMA[1]<myVWMA and condvolume and uptrend and close>open and DistNeutral<DistExpans
    
    SCREENER[ca] (DistNeutral) //affichage de la distance de la borne basse
    Balmora74, Orson, @gildasilva56 and arolee21 thanked this post
    #170700 quote
    Corto78
    Participant
    Senior

    Le même Screener avec l’option “trend following” :

    //
    condvolume= Average[200](volume)>15000
    
    //calcul de la moyenne mobile 4 périodes pondérée par les volumes
    tempValue = 0.0
    tempVolume = 0.0
    for step = 0 to 3 do
    tempValue = tempValue + (((close[step]*volume[step])))
    tempVolume = tempVolume + volume[step]
    next
    myVWMA = tempValue / tempVolume
    
    //Recherche des Trend Haussier avec "trend following"
    myTrend, myNeutral, myExpansion = CALL "ExtraTrend"[1, 0, 0, 0, 0](close)
    uptrend = myTrend <> myExpansion
    
    //Calcul de la distance entre la clôture et la borne haute et basse du Trend
    DistNeutral = ((close-myNeutral)/close)*100
    DistExpans = ABS((myExpansion-close)/close)*100
    
    //retournement à la hausse de la VWMA(4) sur Trend Haussier proche de la borne basse
    //la condition sur les volumes évite les valeurs peu liquides
    
    ca = myVWMA[2]>myVWMA[1] and myVWMA[1]<myVWMA and condvolume and uptrend and close>open and DistNeutral<DistExpans and DistNeutral>0
    
    SCREENER[ca] (DistNeutral) //affichage de la distance de la borne basse
    Guilin, Balmora74 and GC Slr David thanked this post
    #170739 quote
    Gabi
    Participant
    Senior

    Un screener pour trouver les débuts d’expansion.

    signal = 0
    Trend, ignored, Expansion = CALL "ExtraTrend"[0, 0, 0, 0, 0](close)
    if Trend <> Expansion and Trend[1] = Expansion[1] then
        signal = 1
    endif
    
    SCREENER[signal](signal)

    🙂

    Guilin, ppatin00 and Orson thanked this post
    #170751 quote
    Roland57800
    Participant
    Veteran

    Bonjour,

    Il serait intéressant d’avoir un screener qui nous donnerait

    la distance en % par rapport  à la ligne en pointillé rouge Dynamic Resistance

    Merci pour une idée

    Cordialement

    GC Slr David and grdchef thanked this post
    #170763 quote
    Corto78
    Participant
    Senior

    Screener permettant de remonter les valeurs effectuant une sortie de niveau d’expansion en tendance haussière avec la durée de la tendance en cours.

    Plus la valeur de la durée est proche de 1 plus le mouvement est à ses débuts.

    //
    myTrend1, ignored, myExpansion1 = CALL "ExtraTrend"[1, 0, 0, 0, 0](close)
    myTrend0, ignored, myExpansion0 = CALL "ExtraTrend"[0, 0, 0, 0, 0](close)
    
    condvolume=Average[200](volume)>15000
    uptrend1 = myTrend1 <> myExpansion1
    uptrend0 = myTrend0 <> myExpansion0
    if condvolume then
    //i=1
    j=0
    WHILE myTrend1[j] <> myExpansion1[j] DO
    j=j+1
    if j=254 then
    BREAK
    endif
    WEND
    endif
    condvolume=Average[200](volume)>15000
    ca= close crosses over myExpansion1 and uptrend1 and uptrend0
    
    // code proscreener d'exemple
    SCREENER[ca and condvolume] (j as "durée")
    #170815 quote
    maxlys
    Participant
    Senior

    Bonjour à tous,

     

    Si l’on veut appliquer la stratégie par exemple de faire une entrée lorsque l’indicateur est en TRENDFOLLOWING et que l’on vient de casser la SHORTTERMRESISTANCE en clôture, avez vous une idée pour faire ce genre de screener.

    Merci pur votre aide

    GC Slr David thanked this post
Viewing 15 posts - 1 through 15 (of 516 total)
  • You must be logged in to reply to this topic.

ExtraTrend – exemples de codage screeners et programmation personnalisee


Support ProScreener

New Reply
Author
author-avatar
Nicolas @nicolas Keymaster
Summary

This topic contains 515 replies,
has 2 voices, and was last updated by Nicolas
4 days, 8 hours ago.

Topic Details
Forum: Support ProScreener
Language: French
Started: 05/27/2021
Status: Active
Attachments: 85 files
Logo Logo
Loading...