PRTbandsup e DMI screener

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #200108 quote
    raffa58
    Participant
    Average

    Buongiorno Roberto,

    ho questo screener  che fa il suo lavoro egregiamente, vorrei aggiungere un’ulteriore regola se possibile al fine  di migliorarlo.

    In definitiva il codice  che mi piacerebbe aggiungere a supporto di quello presente  dovrebbe concorre a rilevare le azioni  quando :  “Adx incrocia in rialzo DI- ” e  il  prezzo chiude in rialzo quando le condizioni sono confermate dall’ indicatore “l_PRTbandsup ” (freccia verde UP) .  Allego un grafico come esempio per maggiore chiarezza . Naturalmente la regole si applica al prezzo di chiusura di borsa.

    Grazie in anticipo per il tuo supporto e disponibilità

    Timeframe (weekly)
    //prezzo max nelle ultime 52 settimane o linea di resistenza
    
    //
    // Canale di DONCHIAN
    p = 18
    Upper = HIGHEST[p](HIGH[1])
    //Lower = LOWEST[p](LOW[1])
    Distanza = 0.2 * pipsize
    cDonchiaN = close >= (Upper - Distanza)
    cWeekly = cDonchian
    //cDonchiaN = close >= Upper
    
    //prezzo52 = highest[52](close[0])
    prezzo52 = highest[52](high[0])
    
    
    timeframe(daily)
    
    cprezzo =  close[0] >= prezzo52[1]
    
    mm20   = average[20,0](close)
    mm50   = average[50,0](close)
    mm200  = average[200,0](close)
    c0     = (close > mm20) AND (close > mm50) AND (close > mm200) and cprezzo
    
    DMI18 = DIplus[18](close)
    cDmi18 = DMI18 > DMI18[1]
    
    REM trend a rialzo  delle ultime 3 candele
    rem summation: calcola la somma su un numero di barre da definire
    NumeroCandele = 2
    //     LONG
    IF (summation[NumeroCandele](close > open) = NumeroCandele) THEN
    a  = 1
    rem SHORT
    elsIF (summation[NumeroCandele](close < open) = NumeroCandele) THEN
    a =  2
    else
    a = 0
    Endif
    
    //Cabs      = abs(close - open)
    Rem - ABS valore assoluto
    
    //Corpo  = abs(open-close)/range>=0.70 and range>=1*average[30](range)
    
    Rem - Range è  la differenza fra High e Low di un valore
    Corpo  = abs(open-close)/range>=0.67
    
    Corpo1 = abs(open[0]-close[0])=> abs(open[1]-close[1])
    
    cVol = volume > Average[20](volume)
    
    REM Chiusura superiore alla Bollinger Superiore
    //Cond1 = (Close > Bollingerup[20](Close))
    REM Chiusura > Apertura
    Cond2 = Close > Open
    
    Cond0 = cond2 and C0 and corpo and corpo1 and cvol and A and cprezzo and cdmi18 and cWeekly
    //SCREENER[Cond0 ] (range as "range")
    SCREENER[cond0] (dmi18[1] as "dmi")
    
    #200115 quote
    raffa58
    Participant
    Average

    Ciao Roberto, perdonami, provo a caricare il grafico in formato jpg  per  farti vedere visivamente la richieste del codice, purtroppo ancora una volta non funziona e non capisco le ragioni per cui non si carica ;  ci sono istruzioni specifiche da seguire nel forum per caricare un immagine , dopo aver selezionato il file come allegato

    ? cordialmente ..

    ci riprovo con questa nota …

    Cattura.jpg Cattura.jpg insert.png insert.png
    #200148 quote
    robertogozzi
    Moderator
    Master

    Ho creato un nuovo argomento. Non aggiungere richieste diverse ad altre esistenti, altrimenti diventa difficile trovare le informazioni.

    Grazie 🙂

    Puoi postare un link dove posso trovare l’indicatore l_PRTbandsup?

    #200210 quote
    raffa58
    Participant
    Average

    questo è il link da cui ho copiato l’indice, ho modificato solo  il nome per riconoscerlo nella mia libreria.

    esempio 2 :

    https://www.prorealcode.com/documentation/prtbandsup/

    Il contenuto è lo stesso come puoi vedere dal codice sotto riportato  per comodità di lettura.

    Grazie Roberto.

    Buona serata

    a = PRTBandsUp
    //Plot a up arrow below the candlestick when the Close crosses over the upper band
    if close crosses over a then
    drawarrowup(barindex,low-averagetruerange[14]/2) coloured(0,255,0)
    endif
     
    return
    #200234 quote
    robertogozzi
    Moderator
    Master

    Non duplicare it tuoi post. Poni la tua domanda solo una volta e solo in un forum. Tutti i doppi post verranno comunque eliminati, quindi pubblicare più volte la stessa domanda ti farà perdere tempo e non ti farà avere una risposta più velocemente. Il doppio post crea solo confusione nei forum.

    Grazie 🙂

    #200245 quote
    robertogozzi
    Moderator
    Master

    Ti ho aggiunto le ulteriori condizioni. A me non riesce a trovare niente, pur avendo indicato TUTTE le liste possibili:

    Timeframe (weekly)
    //prezzo max nelle ultime 52 settimane o linea di resistenza
     
    //
    // Canale di DONCHIAN
    p = 18
    Upper = HIGHEST[p](HIGH[1])
    //Lower = LOWEST[p](LOW[1])
    Distanza = 0.2 * pipsize
    cDonchiaN = close >= (Upper - Distanza)
    cWeekly = cDonchian
    //cDonchiaN = close >= Upper
     
    //prezzo52 = highest[52](close[0])
    prezzo52 = highest[52](high[0])
     
     
    timeframe(daily)
    
    //myPRTBANDSUP          = PRTBANDSUP
    //myPRTBANDSDOWN        = PRTBANDSDOWN
    //myPRTBANDSSHORTTERM   = PRTBANDSSHORTTERM
    //myPRTBANDSMEDIUMTERM4 = PRTBANDSMEDIUMTERM
    
    cprezzo =  close[0] >= prezzo52[1]
     
    mm20   = average[20,0](close)
    mm50   = average[50,0](close)
    mm200  = average[200,0](close)
    c0     = (close > mm20) AND (close > mm50) AND (close > mm200) and cprezzo
     
    DMI18 = DIplus[18](close)
    cDmi18 = DMI18 > DMI18[1]
     
    REM trend a rialzo  delle ultime 3 candele
    rem summation: calcola la somma su un numero di barre da definire
    NumeroCandele = 2
    //     LONG
    IF (summation[NumeroCandele](close > open) = NumeroCandele) THEN
    a  = 1
    rem SHORT
    elsIF (summation[NumeroCandele](close < open) = NumeroCandele) THEN
    a =  2
    else
    a = 0
    Endif
     
    //Cabs      = abs(close - open)
    Rem - ABS valore assoluto
     
    //Corpo  = abs(open-close)/range>=0.70 and range>=1*average[30](range)
     
    Rem - Range è  la differenza fra High e Low di un valore
    Corpo  = abs(open-close)/range>=0.67
     
    Corpo1 = abs(open[0]-close[0])=> abs(open[1]-close[1])
     
    cVol = volume > Average[20](volume)
     
    REM Chiusura superiore alla Bollinger Superiore
    //Cond1 = (Close > Bollingerup[20](Close))
    REM Chiusura > Apertura
    Cond2 = Close > Open
    
    ////////////////////////////////////////////////////////////
    xa = close crosses over PRTBandsUp
    
    i1 = ADX[14]
    i2 = DIminus[14](close)
    xb = i1 CROSSES OVER i2
    
    xc = close > close[1]
    ////////////////////////////////////////////////////////////
     
    //
     
    Cond0 = cond2 and C0 and corpo and corpo1 and cvol and A and cprezzo and cdmi18 and cWeekly and xa and xb and xc
    //SCREENER[Cond0 ] (range as "range")
    SCREENER[cond0] (dmi18[1] as "dmi")
Viewing 6 posts - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.

PRTbandsup e DMI screener


ProScreener: Scansione Mercati & Screener

New Reply
Author
author-avatar
raffa58 @raffa58 Participant
Summary

This topic contains 5 replies,
has 2 voices, and was last updated by robertogozzi
3 years, 6 months ago.

Topic Details
Forum: ProScreener: Scansione Mercati & Screener
Language: Italian
Started: 09/04/2022
Status: Active
Attachments: 2 files
Logo Logo
Loading...