SmoothedRSI + MA + Divergence
Forums › ProRealTime forum Italiano › Supporto ProBuilder › SmoothedRSI + MA + Divergence
- This topic has 5 replies, 3 voices, and was last updated 4 weeks ago by robertogozzi.
-
-
10/19/2024 at 5:52 PM #239257
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
10/22/2024 at 4:43 PM #239338Invece 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.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121//----------------------------------------------------------------// RSI+SMA+DIV// Setup consigliato//// PeriodRSI = 14// PeriodSMA = 14// PeriodRSISMA = 3////----------------------------------------------------------------DEFPARAM DrawOnLastBarOnly = FalseDefparam CALCULATEONLASTBARS = 5000//variablesdivrsi=1baissiere=1cache=1//Definizione dei parametri del codiceif close>open thennewclose=closenewopen=openendifif close<= open thennewclose=opennewopen=closeendifN=40// Setup indici x la strategiamiRSI = 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 levellowrsi=30 //oversold levelLowMidLevel=40HighMidLevel=60// Setup disegno divergenza//miRSI=RSI[14](close)lowrsi=30 //oversold levelhighrsi=70 //overbought levelsignalrsi=0IF (mirsi[1]>mirsi AND mirsi[1]>mirsi[2]) THENrsiextrem2=mirsi[1]rsiextrem1=highest[N](mirsi)rsipmax2=close[1]rsipmax=Highest[N](close)IF(rsiextrem2<rsiextrem1 AND rsipmax2>rsipmax[1]) THENfor rsii=1 to Nif close[rsii]=rsipmax[1] and baissiere and divrsi thenrsizzm=rsiiif newclose[1]>newclose[rsizzm] thensignalrsi=-1flag=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)endifendifnextendifendifIF (mirsi[1]>mirsi AND mirsi[1]>mirsi[2]) THENrsiextremB2=mirsi[1]rsiextremB1=highest[N](mirsi)rsipmaxB2=close[1]rsipmaxB=Highest[N](close)IF(rsiextremB2=rsiextremB1 AND rsipmaxB2>rsipmaxB[1]) THENfor rsik=1 to Nif close[rsik]=rsipmaxB[1] and baissiere and divrsi and cache thenrsizzmB=rsikif newclose[1]<newclose[rsizzmB] thensignalrsi=-2flag=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)endifendifnextendifendifIF (mirsi[1]<mirsi AND mirsi[1]<mirsi[2]) THENrsiextrem22=mirsi[1]rsiextrem11=lowest[N](mirsi)rsipmin2=close[1]rsipmin=lowest[N](close)IF(rsiextrem22>rsiextrem11 AND rsipmin2<rsipmin[1]) THENfor rsij2=1 to Nif close[rsij2]=rsipmin[1] and divrsi thenrsizzm2=rsij2if newopen[1]<newopen[rsizzm2] thensignalrsi=1flag=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)endifendifnextendifendifIF (mirsi[1]<mirsi AND mirsi[1]<mirsi[2]) THENrsiextremC2=mirsi[1]rsiextremC1=lowest[N](mirsi)rsipminC2=close[1]rsipminC=Lowest[N](close)IF(rsiextremC2=rsiextremC1 AND rsipminC2>rsipminC[1]) THENfor rsil=1 to Nif close[rsil]=rsipminC[1] and divrsi and cache thenrsizzmC=rsilif newopen[1]>newopen[rsizzmC] thensignalrsi=2flag=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)endifendifnextendifendifReturn 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"10/22/2024 at 6:21 PM #239339Scusa Roberto l’ho fatto ma il risultato non è quello corretto
10/22/2024 at 6:30 PM #239341Scusa non tenere conto del messaggio ho risolto.
Grazie
10/23/2024 at 8:21 AM #23935410/23/2024 at 9:28 AM #239356 -
AuthorPosts