Screener da indicatore Order Block presente nel forum
Forums › ProRealTime forum Italiano › Supporto ProScreener › Screener da indicatore Order Block presente nel forum
- This topic has 10 replies, 2 voices, and was last updated 1 year ago by alb3rt1.
-
-
07/30/2023 at 7:58 PM #218339
Buongiorno
vorrei chiedere se è possibile realizzare uno screener per azioni, partendo da questo indicatore presente nel forum:
https://www.prorealcode.com/prorealtime-indicators/supply-demand-order-blocks/
In particolare sarebbe bello se lo screener trovasse i titoli che ritestano le aree (verdi e rosse) evidenziate dal plugin nelle ultime sessioni (magari impostabili).
Grazie
07/31/2023 at 1:01 PM #218375Dovrebbe essere possibile, ci studio un pò.
08/01/2023 at 7:55 PM #21846508/11/2023 at 6:17 PM #218952Ho fatto delle prove, ma occorre un pò di tempo per capirne bene il funzionamento.
Abbi ancora un pò di pazienza 🙂
08/11/2023 at 7:21 PM #218957Grazie Roberto, gentilissimo, aspetterò pazientemente visto anche il periodo.
Se può aiutarti (ma immagino che non ce ne fosse bisogno)
Le aree verdi sono considerate dei supporti che si creano quando il prezzo è salito (di solito velocemente)
Sono aree da tenere monitorate in cui il prezzo dovrebbe poi rientrare nelle aree verdi (dall’alto verso il basso) per poi ripartire al rialzo velocemente.
Viceversa le aree rosse.
09/09/2023 at 7:35 PM #22062809/10/2023 at 5:52 PM #220655No, è che è un pò complicato capire come xono costruite quelle zone e non ho avuto il tempo necessatio per provare a capirlo.
Ti prometto che cercherò di farlo entro pochi giorni.
09/10/2023 at 10:35 PM #22066409/28/2023 at 11:42 AM #221735Non mi sono dimenticato, solo che sono stato molto impegnato.
Abbi ancora qualcghe giorno di pazienza.
10/27/2023 at 10:47 AM #222978Ciao, scusami per l’enorme ritardo, ma è stato un pò lungo studiare l’indicatore e cercare di tuirare fuori uno screener.
Ancora non sono sicuro vada bene al 100%, poerò provalo e fammi sapere se ci sono inesattezze.
Ecco il codice:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194// Sonarlabs - Order Block Finder// converted from TradingView// Lower the sensitivity to show more order blocks. A higher sensitivity will show less order blocks//defparam drawonlastbaronly=true//Transparency = 80sens = 28once obcreatedbear = 0once obcreatedbull = 0once crossindexbear = 0once crossindexbull = 0// Custom Rate of Change (ROC) calculation. This is to calculate high momentum moves in the market.pc = ((open - open[4]) / open[4]) * 100// -----------------sens = sens/100 //ExponentialAverage[8](pc) //sens/100OBBullMitigation = close[1]OBBearMitigation = close[1]// If the ROC crossover our Sensitivty input - Then create a Bearish Order Block// Sensitivty is negative as this is a Bearish OBif pc crosses under -sens thenobcreatedbear = 1crossindexbear = barindexendif// If the ROC crossover our Sensitivty input - Then create a Bullish Order Blockif pc crosses over sens thenobcreatedbull = 1crossindexbull = barindexendif////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Calculation////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -------------------------------// Bearish OB Creation// -------------------------------// Check if we should create a OB. Also check if we haven't created an OB in the last 5 candles.if obcreatedbear and (crossindexbear - crossindexbear[1]) > 5 thenlastgreen = 0//hhighest = 0// Loop through the most recent candles and find the first GREEN (Bullish) candle. We will place our OB here.for i = 4 to 15if close[i] > open[i] thenlastgreen = i//populate the arrays of order block to draw them later$left[plot]= barindex[lastgreen]$top[plot]=high[lastgreen]$bottom[plot]=low[lastgreen]$right[plot]=barindex[lastgreen]plot=plot+1 //increase the array column for next databreakendifnextendif// -------------------------------// Bullish OB Creation// -------------------------------// Check if we should create a OB, Also check if we haven't created an OB in the last 5 candles.if obcreatedbull and (crossindexbull - crossindexbull[1]) > 5 thenlastred = 0//hhighest = 0// Loop through the most recent candles and find the first RED (Beaarish) candle. We will place our OB here.for ibull = 4 to 15if close[ibull] < open[ibull] thenlastred = ibull//populate the arrays of order block to draw them later$leftbull[plotbull]= barindex[lastred]$topbull[plotbull]=high[lastred]$bottombull[plotbull]=low[lastred]$rightbull[plotbull]=barindex[lastred]plotbull=plotbull+1 //increase the array column for next databreakendifnextendif////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Cleanup////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Clean up Bearish OB boxesif plot>0 thenfor j = plot-1 downto 0 //0 to plot-1// If the two last closes are above the high of the bearish OB - Remove the OBif $left[j]>0 then //check if the zone still existitop = $top[j]breakout = summation[max(1,barindex-$left[j])](OBBearMitigation>itop)>=1 //2if breakout then$left[j]=0endifendifnextendif// Clean up Bullish OB boxesif plotbull>0 thenfor jbull = plotbull-1 downto 0 //0 to plotbull-1// If the two last closes are below the low of the bullish OB - Remove the OBif $leftbull[jbull]>0 then //check if the zone still existibot = $bottombull[jbull]breakoutbull = summation[max(1,barindex-$leftbull[jbull])](OBBullMitigation<ibot)>=1if breakoutbull then$leftbull[jbull]=0endifendifnextendif////////////////////////////////////////////////////////////////////////////////////////////////////////////////// Drawing////////////////////////////////////////////////////////////////////////////////////////////////////////////////if islastbarupdate then//plot the Bearish boxesif plot>0 then //islastbarupdate andfor j = plot-1 downto 0 //0 to plot-1if $left[j]>0 then//drawrectangle($left[j],$top[j],barindex,$bottom[j]) coloured("red",Transparency)bordercolor("red",Transparency) // RED rectangleendifnextendif//plot the Bullish boxesif plotbull>0 then //islastbarupdate andfor jbull = plotbull-1 downto 0 //0 to plotbull-1if $leftbull[jbull]>0 then//drawrectangle($leftbull[jbull],$bottombull[jbull],barindex,$topbull[jbull]) coloured("green",Transparency)bordercolor("green",Transparency) // GREEN rectangleendifnextendif//GreenSignal = 0//RedSignal = 0for i = 0 TO plotIF (high >= $bottom[i]) AND (high <= $top[i]) AND (close < $bottom[i]) THEN//RedSignal = -1breakENDIFnextfor i = 0 TO plotIF (low <= $topbull[i]) AND (low >= $bottombull[i]) AND (close > $topbull[i]) THEN//GreenSignal = 1breakENDIFnextendif//////////////////////////////////////////////////////////////LookBack = 1 //ultime 5 sessioniTopIndex = lastset($top)TopBullIndex = lastset($topbull)TopFlag = 0TopBullFlag = 0//IF TopIndex >= LookBack THENfor k = max(0,TopIndex) DOWNTO max(0,(TopIndex - (LookBack - 1)))IF $bottom[k] AND ((low <= $bottom[k] AND high >= $bottom[k]) OR (high >= $top[k] AND low <= $top[k])) THENTopFlag = 1breakendifnextENDIF//IF TopBullIndex >= LookBack THENfor k = max(0,TopBullIndex) DOWNTO max(0,(TopBullIndex - (LookBack - 1)))IF $bottombull[k] AND ((low <= $bottombull[k] AND high >= $bottombull[k]) OR (high >= $topbull[k] AND low <= $topbull[k])) THENTopBullFlag = 1breakendifnextENDIF//Segnale = 0IF TopFlag AND TopBullFlag THENSegnale = 3ELSIF TopFlag THENSegnale = 2ELSIF TopBullFlag THENSegnale = 1ENDIF//////////////////////////////////////////////////////////////SCREENER[Segnale](Segnale AS "1=Bull,2=Bear,3=entrambi")10/27/2023 at 6:47 PM #222995 -
AuthorPosts
Find exclusive trading pro-tools on