Evidenziare condizioni sul grafico
Forums › ProRealTime forum Italiano › Supporto ProBuilder › Evidenziare condizioni sul grafico
- This topic has 2 replies, 2 voices, and was last updated 4 years ago by DavideSbarra.
Tagged: linea, Rettangolo, segmento
-
-
10/11/2019 at 6:12 PM #109961
Buonasera,
mi servirebbe un aiuto per riportare su grafico un’idea al verificarsi di una condizione.
Mi spiego meglio:
- Sulla candela in cui si verifica la mia condizione mi serve far apparire una linea orizzontale che parta dal massimo della candela e vada avanti per 40 candele successive (figura 1)
- Se nell’arco di queste 40 candele successive a quella iniziale il prezzo “chiude” (quindi in chiusura candela) sopra tale linea mi deve apparire un rettangolo che andra ad avanzare col prezzo e che abbia dimensione di 100 pip sopra e 100 pip sotto dal livello della chiusura della candela che ha chiuso sopra la linea. Il rettangolo deve avanzare col prezzo e fermarsi quando il prezzo tocca i 100 pip sopra o i 100 pip sotto (figura 2)
Grazie anticipatamente
10/12/2019 at 5:18 AM #109987Questo è il codice, nella foto allegata ho dovuto mettere parametri diversi (50 barre e soli 20 pips sopra/sotto la rottura) per ottenere una linea ed un rettangolo da mostrare:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990DEFPARAM DrawOnLastBarOnly = true//// inizializzazione delle variabili//IF BarIndex = 0 THENPips = 100 * pipsize //100 pips oltre/sotto la chiusuraMaxBarre = 40 //40 barre di durate della linea dal segnaleMedia = 0Conto = 0Barra = 0InizioRett = 0FineRett = 0PrezzoMax = 0PrezzoMin = 0ENDIF//// se il conto è iniziato, incrementarlo di 1 e verificare che non abbia superato il massimo,// nel qual caso si riparte dall'inizio azzerando tutto//IF Conto > 0 THENConto = Conto + 1IF Conto > MaxBarre THENMedia = 0Conto = 0Barra = 0InizioRett = 0FineRett = 0PrezzoMax = 0PrezzoMin = 0ENDIFENDIF//// questa è la condizione di partenza//Media = average[10,0](close) CROSSES OVER average[20,0](close)//// Se la condizione si è verificata iniziare il conto delle barre e salvare i parametri// (barra e massimo dove la condizione si è verificata)//IF Media THENConto = 1Barra = BarIndexPrezzo = highInizioRett = 0FineRett = 0PrezzoMax = 0PrezzoMin = 0ENDIF//// se il conteggio è già in corso verificare se occorre iniziare a visualizzare il// rettangolo alla rottura della linea//IF Conto > 0 THENIF close > Prezzo AND InizioRett = 0 THENInizioRett = BarIndexFineRett = 0PrezzoMax = close + PipsPrezzoMin = close - PipsENDIFENDIF//// se la visualizzazione del rettangolo è già iniziata, verificare quando deve fermarsi//IF InizioRett > 0 THENIF close >= PrezzoMax OR close <= PrezzoMin THENIF FineRett = 0 THENFineRett = BarIndexENDIFENDIFENDIF//// visualizzazione sul grafico del segmento e del rettangolo, se il conteggio è attivo//IF Conto > 0 THEN// la linea NON deve superare la fine del rettangoloy = min(Barra + (MaxBarre - 1),BarIndex)IF FineRett > 0 THENy = FineRettENDIFDRAWSEGMENT(Barra,Prezzo,y,Prezzo) COLOURED(0,128,0,255)// il rettangolo NON deve superare il limite di quanto i prezzi sono uscitiIF InizioRett > 0 THENx = BarIndexIF FineRett > 0 THENx = FineRettENDIFDRAWRECTANGLE(InizioRett,PrezzoMax,x,PrezzoMin) COLOURED(255,0,0,255)ENDIFENDIFRETURNIl colore della linea si può cambiare a piacimento, ma non è possibile cambiarne lo spessore e lo stile (solo i dati restituiti con RETURN possono essere personalizzati tramite le proprietà dell’indicatore).
Il colore dell’interno del rettangolo non può essere cambiato, mentre si può cambiare il colore del bordo. Per rendere il bordo invisibile basta mettere 0 al posto di 255 nel quarto ed ultimo parametro di COLOURED alla riga 87.
10/12/2019 at 5:14 PM #110015mille grazie,
gentilissimo.
-
AuthorPosts
Find exclusive trading pro-tools on