SmoothedRSI + MA + Divergence

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #239257 quote
    Alessandro Furlani
    Participant
    Junior

    Dunque, grazie all’aiuto di Roberto sono arrivato a mettere insieme un buon indicatore.

    Quello che vedete in allegato è l’immagine dell’indicatore RSI smoothed con MA.

    Ora vorrei aggiungere la divergenza, cosa che ho fatto, ma vorrei che la linea venisse disegnata sulla finestra dell’indicatore non sul prezzo.

    Nello screenshot vedete disegnato a mano nel cerchio cosa vorrei ottenere.

    Mi aiutate ? Con le istruzioni della grafica sono sempre un pò in difficoltà.

    Allego codice sorgente

    Grazie

    #239338 quote
    robertogozzi
    Moderator
    Master

    Invece di NEWCLOSE e NEWOPEN devi usare miRSI nella stampa del segmento, altrimenti ti stampa i segmenti a quel prezzo ma per vederli dovresti stringere notevolmente il pannello rendendo le candele quasi piatte. Inoltre devi usare DEFPARAM DrawOnLastBarOnly = False, altrimenti non vedi niente.

    //----------------------------------------------------------------
    //                           RSI+SMA+DIV
    // Setup consigliato
    //
    // PeriodRSI = 14
    // PeriodSMA = 14
    // PeriodRSISMA = 3
    //
    //----------------------------------------------------------------
    
    DEFPARAM DrawOnLastBarOnly   = False
    Defparam CALCULATEONLASTBARS = 5000
    //variables
    
    divrsi=1
    baissiere=1
    cache=1
    //Definizione dei parametri del codice
    if close>open then
    newclose=close
    newopen=open
    endif
    if close<= open then
    newclose=open
    newopen=close
    endif
    N=40
    // Setup indici x la strategia
    miRSI = RSI[PeriodRSI](TotalPrice)
    //iRSISMA = Average[PeriodRSISMA,4](iRSI)
    //iRSISmoothed=TEMA[SmoothingPeriod](iRSI)
    iRSISmoothed=Average[SmoothingPeriod,MATypeRSI](miRSI)
    iSMA = Average[PeriodSMA,MATypeMA](miRSI)
    highrsi=70 //overbought level
    lowrsi=30 //oversold level
    LowMidLevel=40
    HighMidLevel=60
    // Setup disegno divergenza
    //miRSI=RSI[14](close)
    lowrsi=30 //oversold level
    highrsi=70 //overbought level
    signalrsi=0
    IF (mirsi[1]>mirsi AND mirsi[1]>mirsi[2]) THEN
    rsiextrem2=mirsi[1]
    rsiextrem1=highest[N](mirsi)
    rsipmax2=close[1]
    rsipmax=Highest[N](close)
    IF(rsiextrem2<rsiextrem1 AND rsipmax2>rsipmax[1]) THEN
    for rsii=1 to N
    if close[rsii]=rsipmax[1] and baissiere and divrsi then
    rsizzm=rsii
    if newclose[1]>newclose[rsizzm] then
    signalrsi=-1
    flag=1
    //drawsegment (barindex[1], newclose[1], barindex[rsizzm],newclose[rsizzm]) coloured(150,0,0)style(dottedline,2)
    drawsegment (barindex[1], miRSI[1], barindex[rsizzm],miRSI[rsizzm]) coloured("Blue")style(dottedline,2)
    endif
    endif
    next
    endif
    endif
    IF (mirsi[1]>mirsi AND mirsi[1]>mirsi[2]) THEN
    rsiextremB2=mirsi[1]
    rsiextremB1=highest[N](mirsi)
    rsipmaxB2=close[1]
    rsipmaxB=Highest[N](close)
    IF(rsiextremB2=rsiextremB1 AND rsipmaxB2>rsipmaxB[1]) THEN
    for rsik=1 to N
    if close[rsik]=rsipmaxB[1] and baissiere and divrsi and cache then
    rsizzmB=rsik
    if newclose[1]<newclose[rsizzmB] then
    signalrsi=-2
    flag=1
    //drawsegment (barindex[1], newclose[1], barindex[rsizzmB],newclose[rsizzmB]) coloured(150,0,0)style(dottedline,1)
    drawsegment (barindex[1], miRSI[1], barindex[rsizzmB],miRSI[rsizzmB]) coloured("Blue")style(dottedline,2)
    endif
    endif
    next
    endif
    endif
    IF (mirsi[1]<mirsi AND mirsi[1]<mirsi[2]) THEN
    rsiextrem22=mirsi[1]
    rsiextrem11=lowest[N](mirsi)
    rsipmin2=close[1]
    rsipmin=lowest[N](close)
    IF(rsiextrem22>rsiextrem11 AND rsipmin2<rsipmin[1]) THEN
    for rsij2=1 to N
    if close[rsij2]=rsipmin[1] and divrsi then
    rsizzm2=rsij2
    if newopen[1]<newopen[rsizzm2] then
    signalrsi=1
    flag=1
    //drawsegment(barindex[1],newopen[1], barindex[rsizzm2], newopen[rsizzm2]) coloured(150,0,0)style(line,2)
    drawsegment(barindex[1],miRSI[1], barindex[rsizzm2], miRSI[rsizzm2]) coloured("Green")style(line,2)
    endif
    endif
    next
    endif
    endif
    IF (mirsi[1]<mirsi AND mirsi[1]<mirsi[2]) THEN
    rsiextremC2=mirsi[1]
    rsiextremC1=lowest[N](mirsi)
    rsipminC2=close[1]
    rsipminC=Lowest[N](close)
    IF(rsiextremC2=rsiextremC1 AND rsipminC2>rsipminC[1]) THEN
    for rsil=1 to N
    if close[rsil]=rsipminC[1] and divrsi and cache then
    rsizzmC=rsil
    if newopen[1]>newopen[rsizzmC] then
    signalrsi=2
    flag=1
    //drawsegment (barindex[1], newopen[1], barindex[rsizzmC],newopen[rsizzmC]) coloured(150,0,0)style(line,1)
    drawsegment (barindex[1], miRSI[1], barindex[rsizzmC],miRSI[rsizzmC]) coloured("Green")style(line,2)
    endif
    endif
    next
    endif
    endif
    
    Return iRSISmoothed as "RSI Signal", iSMA as "SMA RSI", highrsi as "Level 70", lowrsi as "Level 30", LowMidLevel as "Level 40", HighMidLevel as "Level 60"
    //Return rsizzmC AS "rsizzmC",rsizzm AS "rsizzm"
    #239339 quote
    Alessandro Furlani
    Participant
    Junior

    Scusa Roberto l’ho fatto ma il risultato non è quello corretto

    #239341 quote
    Alessandro Furlani
    Participant
    Junior

    Scusa non tenere conto del messaggio ho risolto.

     

    Grazie

    #239354 quote
    Msport71
    Participant
    Junior

    Buongiorno,

     

    si potrebbe avere la versione finale in .ITF? Copiando e incollando il codice di Roberto, ricevo segnalazione  sulle variabili.

    Grazie

    #239356 quote
    robertogozzi
    Moderator
    Master

    Eccolo allegato.

    Msport71 and Iván González thanked this post
Viewing 6 posts - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.

SmoothedRSI + MA + Divergence


ProBuilder: Indicatori & Strumenti Personalizzati

New Reply
Summary

This topic contains 5 replies,
has 3 voices, and was last updated by robertogozzi
1 year, 3 months ago.

Topic Details
Forum: ProBuilder: Indicatori & Strumenti Personalizzati
Language: Italian
Started: 10/19/2024
Status: Active
Attachments: 5 files
Logo Logo
Loading...