Tracciare linea in automatico
Forums › ProRealTime forum Italiano › Supporto ProBuilder › Tracciare linea in automatico
- This topic has 17 replies, 3 voices, and was last updated 2 years ago by robertogozzi.
Tagged: giornaliero, ieri, linea, linee, massimo, minimo, oggi, precedente, rottura, tracciare
-
-
09/28/2022 at 3:26 PM #201575
Buongiorno, è possibile tracciare una linea con queste condizioni :
esempio in un TF 30 quando il prezzo supera il massimo o il minimo del giorno precedente traccia una linea che parte dall’open odierno al massimo o minimo in quel dato momento, se poi il prezzo rintraccia la linea termina come da file allegato.
Grazie
09/30/2022 at 8:21 AM #201690Penso di aver compreso correttamente la tua domanda, in modo che ogni volta che l'attuale massimo giornaliero o minimo giornaliero supera i valori del giorno precedente, le linee vengono tracciate e adattate all'attuale massimo/minimo giornaliero. Ecco il codice che ho creato:
12345678910111213141516defparam drawonlastbaronly=trueif intradaybarindex=0 thenstartbar=barindexendifif islastbarupdate thenif dhigh(0)>dhigh(1) thendrawray(startbar,dhigh(0),barindex,dhigh(0)) coloured("blue")endifif dlow(0)<dlow(1) thendrawray(startbar,dlow(0),barindex,dlow(0)) coloured("red")endifendifreturn2 users thanked author for this post.
10/04/2022 at 10:48 AM #201897Grazie ma non è quello che cerco.
Avrei bisogno che l’indicatore tracci una linea obliqua come nel grafico allegato con le seguenti condizioni:
1) in un TF intraday la linea (obliqua) viene tracciata/generata solo se si viene superato il massimo/minimo del giorno precedente
2) la linea ha origne (in caso di future) dall’open quindi dalle ore 0,00
3) la linea termina sul attuale massimo/minimo intraday (vedi esempio nel grafico allegato, il prezzo raggiunge il minimo attuale intraday quindi quando il prezzo ritraccia la linea termina)
Ti ringrazio
Ciao
10/04/2022 at 11:36 AM #201900Quindi tu vuoi considerare il giorno dalle 00:00 alle 24:00?
10/04/2022 at 1:43 PM #20190510/05/2022 at 6:29 PM #201958Eccolo:
1234567891011121314151617181920212223242526272829303132333435363738DEFPARAM DrawOnLastBarOnly = TrueONCE HH = 0ONCE LL = 0ONCE HHprec = 0ONCE LLprec = 0ONCE Rottura = 0ONCE Fine = 0ONCE HHtemp = 0ONCE LLtemp = 0IF (OpenTime = 000000) OR (OpenTime < OpenTime[1]) THENHHprec = HHLLprec = LLHH = highLL = lowBarra = BarIndexRottura = 0Fine = 0HHtemp = 0LLtemp = 0ENDIFHH = max(HH,high)LL = min(LL,low)DrawSegment(Barra,HHprec,BarIndex,HHprec) coloured(0,128,0,155) style(Line,2) //VerdeDrawSegment(Barra,LLprec,BarIndex,LLprec) coloured(0,0,255,255) style(Line,2) //BlùIF (HH CROSSES OVER HHprec) OR (HH CROSSES OVER HHtemp) THENRottura = 1Fine = BarIndexHHtemp = HHENDIFIF (LL CROSSES UNDER LLprec) OR (LL CROSSES UNDER LLtemp) THENRottura = 1Fine = BarIndexLLtemp = LLENDIFIF Rottura THENDrawSegment(Barra,HHprec,Fine,LLprec) coloured(255,0,0,255) style(Line,2) //RossoENDIFRETURN1 user thanked author for this post.
10/07/2022 at 8:27 AM #20204410/07/2022 at 10:40 AM #202069Spiegami a parole.
10/07/2022 at 2:41 PM #202079in un TF 30 di un future USA dopo l’apertura ore 00,00 quando il prezzo nell’arco della giornata supera il massimo o il minimo del giorno precedente traccia una linea che parte dall’open della candela 00,00 odierno al massimo o minimo intraday in quel dato momento, se poi il prezzo rintraccia la linea termina.
ricapitolando le condizioni sono:
1) in un TF intraday la linea (obliqua) viene tracciata/generata solo se si viene superato il massimo/minimo del giorno precedente
2) la linea ha origne (in caso di future) dall’open della prima candela quindi dalle ore 00.00
3) la linea termina sul attuale massimo/minimo intraday (vedi esempio nel grafico allegato, il prezzo raggiunge il minimo attuale intraday quindi quando il prezzo ritraccia la linea termina)
10/07/2022 at 5:31 PM #202086Eccolo modificato:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455DEFPARAM DrawOnLastBarOnly = TrueONCE HH = 0ONCE LL = 0ONCE HHprec = 0ONCE LLprec = 0ONCE Rottura = 0//IF BarIndex <= 999999 THENIF (OpenTime = 000000) OR (OpenTime < OpenTime[1]) THENHHprec = HHLLprec = LLHH = highLL = lowBarra = BarIndexRottura = 0Apertura = openIF HH > HHprec THENRottura = 1Prezzo = highFine = BarIndexENDIFIF LL < LLprec THENRottura = 2Prezzo = highFine = BarIndexENDIFENDIFHH = max(HH,high)LL = min(LL,low)IF (HH CROSSES OVER HHprec) AND (Rottura <> 1) THENRottura = 1Prezzo = highFine = BarIndexELSIF (LL CROSSES UNDER LLprec) AND (Rottura <> 2) THENRottura = 2Prezzo = lowFine = BarIndexENDIFIF Rottura = 1 THENIF high > Prezzo THENPrezzo = highFine = BarIndexENDIFELSIF Rottura = 2 THENIF low < Prezzo THENPrezzo = lowFine = BarIndexENDIFENDIF//ENDIFDrawSegment(Barra,HHprec,BarIndex,HHprec) coloured(0,128,0,155) style(Line,2) //VerdeDrawSegment(Barra,LLprec,BarIndex,LLprec) coloured(0,0,255,255) style(Line,2) //BlùIF Rottura THENDrawSegment(Barra,Apertura,Fine,Prezzo) coloured(255,0,0,255) style(Line,2) //RossoENDIFRETURNLe linee 7 e 49 le ho commentate, ma le ho lasciate per il debugging, in modo da fermarsi ad una barra specifica e poi mandarlo avanti volta per volta.
Quando capita che la prima candela della giornata faccia anche un nuovo Minimo o Massimo rispetto al giorno precedente, verrà stampata una barra sopra/sotto alla barra stessa.
1 user thanked author for this post.
10/11/2022 at 5:43 PM #202323Grazie mille, se possibile avrei necessità di aggiungere una nuova linea che si genera solo quando il prezzo supera il massimo/minimo intraday con origine dove è terminata la prima linea, ad esempio la prima linea si è generata quando il prezzo ha superato il minimo daily di ieri, succesivamente nell’arco della giornata il prezzo supera il massimo intraday quindi viene generata la seconda linea. Allego file con esempio.
Grazie grazie.10/12/2022 at 8:07 AM #202342Quindi se non è stata attivata la prima linea, la seconda NON deve essere stampata, anche se il Massimo/Minimom intraday viene superato?
10/12/2022 at 5:47 PM #20239510/13/2022 at 9:28 AM #202429Eccolo (la linea è celeste):
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071DEFPARAM DrawOnLastBarOnly = TrueONCE HH = 0ONCE LL = 0ONCE HHprec = 0ONCE LLprec = 0ONCE Rottura = 0ONCE Rottura2= 0IF BarIndex <= 585000 THENIF (OpenTime = 000000) OR (OpenTime < OpenTime[1]) THENHHprec = HHLLprec = LLHH = highLL = lowBarra = BarIndexRottura = 0Rottura2 = 0Apertura = openIF HH > HHprec THENRottura = 1Prezzo = highFine = BarIndexENDIFIF LL < LLprec THENRottura = 2Prezzo = highFine = BarIndexENDIFENDIF//IF (Rottura > 0) AND (Rottura2 = 0) THENIF close > HH THENRottura2 = 1ELSIF close < LL THENRottura2 = 2ENDIFENDIF//HH = max(HH,high)LL = min(LL,low)IF (HH CROSSES OVER HHprec) AND (Rottura <> 1) THENRottura = 1Prezzo = highFine = BarIndexELSIF (LL CROSSES UNDER LLprec) AND (Rottura <> 2) THENRottura = 2Prezzo = lowFine = BarIndexENDIFIF Rottura = 1 THENIF high > Prezzo THENPrezzo = highFine = BarIndexENDIFELSIF Rottura = 2 THENIF low < Prezzo THENPrezzo = lowFine = BarIndexENDIFENDIFENDIFDrawSegment(Barra,HHprec,BarIndex,HHprec) coloured(0,128,0,155) style(Line,2) //VerdeDrawSegment(Barra,LLprec,BarIndex,LLprec) coloured(0,0,255,255) style(Line,2) //BlùIF Rottura > 0 THENDrawSegment(Barra,Apertura,Fine,Prezzo) coloured(255,0,0,255) style(Line,2) //RossoIF Rottura2 = 1 THENDrawSegment(Fine,Prezzo,BarIndex,HH) coloured(135,206,255,255) style(Line,2) //CelesteELSIF Rottura2 = 2 THENDrawSegment(Fine,Prezzo,BarIndex,LL) coloured(135,206,255,255) style(Line,2) //CelesteENDIFENDIFRETURN1 user thanked author for this post.
10/16/2022 at 5:51 PM #202626Grazie Roberto, è corretto alla linea 25 Prezzo = high ??
Provando il codice mi sono accorto di un errore, allego immagine, la retta disegnata non è corretta prima doveva disegnare la retta 1 (in quanto ha preso prima il massimo) e poi la retta 2 perché ha preso anche il minimo ma successivamente.
-
AuthorPosts
Find exclusive trading pro-tools on