Evidenziare condizioni sul grafico
- This topic has 2 replies, 2 voices, and was last updated 5 years ago by .
Viewing 3 posts - 1 through 3 (of 3 total)
Viewing 3 posts - 1 through 3 (of 3 total)
Similar topics:
Forums › ProRealTime forum Italiano › Supporto ProBuilder › Evidenziare condizioni sul grafico
Tagged: linea, Rettangolo, segmento
Buonasera,
mi servirebbe un aiuto per riportare su grafico un’idea al verificarsi di una condizione.
Mi spiego meglio:
Grazie anticipatamente
Questo è 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
DEFPARAM DrawOnLastBarOnly = true // // inizializzazione delle variabili // IF BarIndex = 0 THEN Pips = 100 * pipsize //100 pips oltre/sotto la chiusura MaxBarre = 40 //40 barre di durate della linea dal segnale Media = 0 Conto = 0 Barra = 0 InizioRett = 0 FineRett = 0 PrezzoMax = 0 PrezzoMin = 0 ENDIF // // 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 THEN Conto = Conto + 1 IF Conto > MaxBarre THEN Media = 0 Conto = 0 Barra = 0 InizioRett = 0 FineRett = 0 PrezzoMax = 0 PrezzoMin = 0 ENDIF ENDIF // // 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 THEN Conto = 1 Barra = BarIndex Prezzo = high InizioRett = 0 FineRett = 0 PrezzoMax = 0 PrezzoMin = 0 ENDIF // // se il conteggio è già in corso verificare se occorre iniziare a visualizzare il // rettangolo alla rottura della linea // IF Conto > 0 THEN IF close > Prezzo AND InizioRett = 0 THEN InizioRett = BarIndex FineRett = 0 PrezzoMax = close + Pips PrezzoMin = close - Pips ENDIF ENDIF // // se la visualizzazione del rettangolo è già iniziata, verificare quando deve fermarsi // IF InizioRett > 0 THEN IF close >= PrezzoMax OR close <= PrezzoMin THEN IF FineRett = 0 THEN FineRett = BarIndex ENDIF ENDIF ENDIF // // visualizzazione sul grafico del segmento e del rettangolo, se il conteggio è attivo // IF Conto > 0 THEN // la linea NON deve superare la fine del rettangolo y = min(Barra + (MaxBarre - 1),BarIndex) IF FineRett > 0 THEN y = FineRett ENDIF DRAWSEGMENT(Barra,Prezzo,y,Prezzo) COLOURED(0,128,0,255) // il rettangolo NON deve superare il limite di quanto i prezzi sono usciti IF InizioRett > 0 THEN x = BarIndex IF FineRett > 0 THEN x = FineRett ENDIF DRAWRECTANGLE(InizioRett,PrezzoMax,x,PrezzoMin) COLOURED(255,0,0,255) ENDIF ENDIF RETURN |
Il 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.
mille grazie,
gentilissimo.
Find exclusive trading pro-tools on