Création d’un screener

Viewing 15 posts - 1 through 15 (of 19 total)
  • Author
    Posts
  • #239388 quote
    touline
    Participant
    Senior

    Bonjour serait-il possible de créer un screener à partir de cet indicateur ?
    merci d’avance

    Lb = 9
    if close > Average[Lb](High)[1] then
    trend = 1
    gann = Average[ Lb ](low)[1]
    r=0
    g=125
    b=0
    elsif close < Average[Lb](Low)[1] then
    trend = 1
    gann = Average[Lb](high)[1]
    r=255
    g=0
    b=125
    else
    trend = trend
    endif
    if trend <> trend[1] then
    if trend = 1 then
    drawvline(barindex)coloured(r,g,b)style(dottedline,1)
    elsif trend = 1 then
    drawvline(barindex)coloured(r,g,b)style(dottedline,1)
    endif
    endif
    return gann as “Gann”coloured(r,g,b)style(line,2)
    #239403 quote
    Iván González
    Moderator
    Master

    Bonjour ! Vous êtes ici :

    Lb = 9
    if close > Average[Lb](High)[1] then
    trend = 1
    long=1
    short=0
    elsif close < Average[Lb](Low)[1] then
    trend = -1
    long=0
    short=1
    else
    trend = trend
    endif
    
    // sample screener code
    SCREENER[trend <> trend[1]](long as "LG",short as "SH")
    
    #239408 quote
    touline
    Participant
    Senior

    Bonjour ivan

    un grand Merci pour le retour rapide

    #241108 quote
    Dany12
    Participant
    Junior

    Bonjour,

    quelqu’un a-t-il les compétences et aurait il la gentillesse de créer un screener avec ces conditions ?

    merci d’avance.

    1. Tendance haussière :

    • Cours > MM50.
    • MM20 > MM50.

    2. Proximité ou rebond sur support :

    • Le cours touche ou rebondit près de la MM20 ou MM50 ou MM200:
    • Distance entre le cours et MME20
      < 2%…
    • OU et Distance entre le cours et
      MM50 < 3 %. Idem pour MM200.

    3. RSI favorable :

    • RSI(14) > 40 et RSI(14) < 60.

    4. Confirmation des volumes :

    • Volume > Moyenne(volume, 4 semaines).

    5. MACD en phase haussière :

    • MACD > Signal Line (croisement haussier).

    prix casse mm7 avec nombre de bougies depuis cassure…

    #241115 quote
    robertogozzi
    Moderator
    Master

    Voici le code :

    Timeframe(default)
    N      = 1
    MM7    = average[7,0](close)
    MM50   = average[50,0](close)
    MM20   = average[20,0](close)
    MM200  = average[200,0](close)
    //
    myRSI  = rsi[14](close)
    //
    mySIG  = MACDSignal[12,26,9](close)
    myMACD = MACDline[12,26,9](close)
    //
    // 1. Tendance haussière
    c1     = close > MM50
    c2     = MM20 > MM50
    //
    // 2. Proximité ou rebond sur support
    x1     = (close >= MM20)  AND (low <= MM20)
    x2     = (close >= MM50)  AND (low <= MM50)
    x3     = (close >= MM200) AND (low <= MM200)
    c3     = x1 OR x2 OR x3
    y1     = abs(close - MM20)  < (close * 0.02)
    y2     = abs(close - MM50)  < (close * 0.03)
    y3     = abs(close - MM200) < (close * 0.03)
    c4     = y1 OR y2 OR y3
    //
    // 3. RSI favorable
    c5     = (myRSI > 40) AND (myRSI < 60)
    //
    // 4. Confirmation des volumes
    Timeframe(Weekly)
    c6     = volume > average[4,0](volume)
    //
    // 5. MACD en phase haussière
    Timeframe(default)
    //c7   = myMACD > mySIG               //Le croisement n'est pas nécessaire
    c7     = myMACD CROSSES OVER mySIG    //Le croisement Est Nécessaire
    //
    // prix casse mm7 avec nombre de bougies depuis cassure…
    P      = max(1,N)
    c8     = (summation[P](close > MM7) = P)
    //
    Cond   = c1 AND c2 AND c3 AND c4 AND c5 AND C6 AND c7 AND c8
    SCREENER[Cond]

    La ligne 1 est le nombre de bougies pour la condition c8.

    Vous pouvez changer de commentaire dans les lignes 36-37. La valeur par défaut est la ligne 37 «croisement Nécessaire».

    plbourse and Iván González thanked this post
    #241120 quote
    Dany12
    Participant
    Junior

    Un grand merci pour votre aide.

    Par contre, je pense que les conditions sont trop restrictives car aucune valeur ne ressort du screener sur tout le marché Européen action, et seulement une sur le Nasdaq.

    Si vous avez une idée… peut être :

    1. Tendance haussière :

    • Cours > MM200.

    2. Proximité ou rebond sur support :

    • Le cours touche ou rebondit près de la MM20 ou MM50 ou MM200:
    • Distance entre le cours et MM20/50 < 0 à 5 %. Idem pour MM200.

    3. RSI favorable :

    • RSI(14) > 30 et RSI(14) < 60.

    prix casse mm7 avec nombre de bougies depuis cassure…

    #241131 quote
    Dany12
    Participant
    Junior

    et un petit dernier si vous le voulez bien…

    avec crtitere nombre de bougies depuis l’approche d’une mm par exemple

    Critères pour le Screener :

    1. Tendance haussière :
      • Cours > MM50.
      • MM20 > MM50.
    2. Proximité ou rebond sur support :
      • Le cours touche ou rebondit près de la MM20 ou MM50 :
        • Distance entre le cours et MM20 < 2 %.
        • OU Distance entre le cours et MM50 < 3 %.
    3. RSI favorable :
      • RSI(14) > 40 et RSI(14) < 60.
    4. MACD : vert
    #241142 quote
    robertogozzi
    Moderator
    Master

    Un grand merci pour votre aide.

    Par contre, je pense que les conditions sont trop restrictives car aucune valeur ne ressort du screener sur tout le marché Européen action, et seulement une sur le Nasdaq.

    Si vous avez une idée… peut être :

    1. Tendance haussière :

    • Cours > MM200.

    2. Proximité ou rebond sur support :

    • Le cours touche ou rebondit près de la MM20 ou MM50 ou MM200:
    • Distance entre le cours et MM20/50 < 0 à 5 %. Idem pour MM200.

    3. RSI favorable :

    • RSI(14) > 30 et RSI(14) < 60.

    prix casse mm7 avec nombre de bougies depuis cassure…

    Voilà:

    Timeframe(default)
    N      = 1
    Pres   = 10 * PipSize
    MM7    = average[7,0](close)
    MM20   = average[20,0](close)
    Pres20 = MM20 + Pres
    MM50   = average[50,0](close)
    Pres50 = MM50 + Pres
    MM200  = average[200,0](close)
    Pres200= MM200 + Pres
    //
    myRSI  = rsi[14](close)
    //
    mySIG  = MACDSignal[12,26,9](close)
    myMACD = MACDline[12,26,9](close)
    //
    // 1. Tendance haussière
    c1     = close > MM200 //close > MM50
    c2     = 1//MM20 > MM50
    //
    // 2. Proximité ou rebond sur support
    x1     = (close >= MM20)  AND (low <= Pres20)
    x2     = (close >= MM50)  AND (low <= Pres50)
    x3     = (close >= MM200) AND (low <= Pres200)
    c3     = x1 OR x2 OR x3
    y1     = abs(close - MM20)  < (close * 0.05)  //5%
    y2     = abs(close - MM50)  < (close * 0.05)  //5%
    y3     = abs(close - MM200) < (close * 0.05)  //5%
    c4     = y1 OR y2 OR y3
    //
    // 3. RSI favorable
    c5     = (myRSI > 30) AND (myRSI < 60)
    //
    // 4. Confirmation des volumes
    Timeframe(Weekly)
    c6     = volume > average[4,0](volume)
    //
    // 5. MACD en phase haussière
    Timeframe(default)
    //c7   = myMACD > mySIG               //Le croisement n'est pas nécessaire
    c7     = myMACD CROSSES OVER mySIG    //Le croisement Est Nécessaire
    //
    // prix casse mm7 avec nombre de bougies depuis cassure…
    P      = max(1,N)
    c8     = (summation[P](close > MM7) = P)
    //
    c9     = (high <> low) OR 0
    //
    Cond   = c1 AND c2 AND c3 AND c4 AND c5 AND C6 AND c7 AND c8 AND c9
    SCREENER[Cond]

    J’ai ajouté la condition c9 pour filtrer les actifs sans mouvement de prix (lorsque HIGH = LOW).
    Si vous n’aimez pas cette condition, remplacez OR 0 par OR 1.

    #241144 quote
    robertogozzi
    Moderator
    Master

    et un petit dernier si vous le voulez bien…

    avec crtitere nombre de bougies depuis l’approche d’une mm par exemple

    Critères pour le Screener :

    1. Tendance haussière :
      • Cours > MM50.
      • MM20 > MM50.
    2. Proximité ou rebond sur support :
      • Le cours touche ou rebondit près de la MM20 ou MM50 :
        • Distance entre le cours et MM20 < 2 %.
        • OU Distance entre le cours et MM50 < 3 %.
    3. RSI favorable :
      • RSI(14) > 40 et RSI(14) < 60.
    4. MACD : vert

    Voilà:

    Timeframe(default)
    N      = 1
    Pres   = 10 * PipSize
    MM7    = average[7,0](close)
    MM20   = average[20,0](close)
    Pres20 = MM20 + Pres
    MM50   = average[50,0](close)
    Pres50 = MM50 + Pres
    MM200  = average[200,0](close)
    Pres200= MM200 + Pres
    //
    myRSI  = rsi[14](close)
    //
    //mySIG= MACDSignal[12,26,9](close)
    myMACD = MACDline[12,26,9](close)
    //
    // 1. Tendance haussière
    c1     = close > MM50
    c2     = MM20 > MM50
    //
    // 2. Proximité ou rebond sur support
    x1     = (close >= MM20)  AND (low <= Pres20)
    x2     = (close >= MM50)  AND (low <= Pres50)
    x3     = (close >= MM200) AND (low <= Pres200)
    c3     = x1 OR x2 OR x3
    y1     = abs(close - MM20)  < (close * 0.02)  //2%
    y2     = abs(close - MM50)  < (close * 0.03)  //5%
    y3     = 1//abs(close - MM200) < (close * 0.05)  //5%
    c4     = y1 OR y2 OR y3
    //
    // 3. RSI favorable
    c5     = (myRSI > 40) AND (myRSI < 60)
    //
    // 4. Confirmation des volumes
    Timeframe(Weekly)
    c6     = volume > average[4,0](volume)
    //
    // 5. MACD en phase haussière
    Timeframe(default)
    //c7   = myMACD > mySIG               //Le croisement n'est pas nécessaire
    //c7   = myMACD CROSSES OVER mySIG    //Le croisement Est Nécessaire
    c7     = myMACD > 0                   //MACD: vert
    //
    // prix casse mm7 avec nombre de bougies depuis cassure…
    P      = max(1,N)
    c8     = (summation[P](close > MM7) = P)
    //
    c9     = (high <> low) OR 0
    //
    Cond   = c1 AND c2 AND c3 AND c4 AND c5 AND C6 AND c7 AND c8 AND c9
    SCREENER[Cond]
    plbourse thanked this post
    #241149 quote
    Dany12
    Participant
    Junior

    Merci beaucoup Roberto et belle journée.

    robertogozzi thanked this post
    #241161 quote
    Dany12
    Participant
    Junior

    Merci encore une fois.

    par contre le critère par bougie depuis la cassure ne s’affiche pas… si vous pouvez m’aider…

    belle soirée

    #241186 quote
    robertogozzi
    Moderator
    Master

    Remplacez la ligne 45 par celles-ci et essayez (il faudra évidemment changer la valeur de N pour l’adapter au nombre de bougies souhaité) :

    x8     = (summation[P](close > MM7) > 0)
    y8     = (summation[P](close > MM7) <= P)
    z8     = (close[P] < MM7[P])
    c8     = x8 AND y8 AND z8
    #241232 quote
    Dany12
    Participant
    Junior

    Merci beaucoup mais cela ne fonctionne pas. Je ne trouve pas l’erreur…

    Timeframe(default)
    N = 1
    Pres = 10 * PipSize
    MM7 = average[7,0](close)
    MM20 = average[20,0](close)
    Pres20 = MM20 + Pres
    MM50 = average[50,0](close)
    Pres50 = MM50 + Pres
    MM200 = average[200,0](close)
    Pres200= MM200 + Pres
    //
    myRSI = rsi[14](close)
    //
    mySIG = MACDSignal[12,26,9](close)
    myMACD = MACDline[12,26,9](close)
    //
    // 1. Tendance haussière
    c1 = close > MM200 //close > MM50
    c2 = 1//MM20 > MM50
    //
    // 2. Proximité ou rebond sur support
    x1 = (close >= MM20) AND (low <= Pres20)
    x2 = (close >= MM50) AND (low <= Pres50)
    x3 = (close >= MM200) AND (low <= Pres200)
    c3 = x1 OR x2 OR x3
    y1 = abs(close – MM20) < (close * 0.05) //5%
    y2 = abs(close – MM50) < (close * 0.05) //5%
    y3 = abs(close – MM200) < (close * 0.05) //5%
    c4 = y1 OR y2 OR y3
    //
    // 3. RSI favorable
    c5 = (myRSI > 30) AND (myRSI < 60)
    //
    // 4. Confirmation des volumes
    Timeframe(Weekly)
    c6 = volume > average[4,0](volume)
    //
    // 5. MACD en phase haussière
    Timeframe(default)
    //c7 = myMACD > mySIG //Le croisement n’est pas nécessaire
    c7 = myMACD CROSSES OVER mySIG //Le croisement Est Nécessaire
    //
    // prix casse mm7 avec nombre de bougies depuis cassure…
    P = max(10,N)
    x8 = (summation[P](close > MM7) > 0)
    y8 = (summation[P](close > MM7) <= P)
    z8 = (close[P] < MM7[P])
    c8 = x8 AND y8 AND z8
    //
    c9 = (high <> low) OR 0
    //
    okvol=average[20](close*volume)>200000
    Cond = c1 AND c2 AND c3 AND c4 AND c5 AND C6 AND c7 AND c8 AND c9 AND okvol
    SCREENER[Cond]

    #241238 quote
    robertogozzi
    Moderator
    Master

    Peut-être que je n’ai pas bien compris ce que vous entendez par cassure et bougies associées.
    Essayez de me l’expliquer plus en détail.

    #241245 quote
    Dany12
    Participant
    Junior

    En fait c’est juste dans critère le nombre de bougies depuis la cassure ou le break de la m7

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

Création d’un screener


ProScreener : Scanners de Marché & Détection

New Reply
Author
author-avatar
touline @touline Participant
Summary

This topic contains 18 replies,
has 4 voices, and was last updated by robertogozzi
1 year, 2 months ago.

Topic Details
Forum: ProScreener : Scanners de Marché & Détection
Language: French
Started: 10/24/2024
Status: Active
Attachments: No files
Logo Logo
Loading...