screener Retroceso de Fibonacci

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #258488 quote
    Maricarmen
    Participant
    Junior

    Se podría hace Screener de este indicador

    defparam drawonlastbaronly=true
    //----------------------------------------------------------------------------//
    //PRC_Fibonacci Retracement / Extension
    //version = 0
    //07.02.2025
    //Iván González @ www.prorealcode.com
    //Sharing ProRealTime knowledge
    //----------------------------------------------------------------------------//
    //-----Inputs-----------------------------------------------------------------//
    //ZZpercent=1
    //prd=8
    //percent=5
    //N=1 // check last n zig
    //checkUp=1 // check uptrend or downtrend
    //----------------------------------------------------------------------------//
    atr=averagetruerange[14](close) //Only drawing porpouse
    //----------------------------------------------------------------------------//
    //-----Pivots High&Low--------------------------------------------------------//
    if ZZpercent then
    //-----Mode Percent--------------------------------------------------------//
    zz = zigzag[percent](close)
    ph = zz<zz[1] and zz[1]>zz[2]
    pl = zz>zz[1] and zz[1]<zz[2]
    //-----Mode Highest/lowest Values------------------------------------------//
    else
    ph = high=highest[prd](high)
    pl = low=lowest[prd](low)
    endif
    //----------------------------------------------------------------------------//
    //-----Direction Calculation--------------------------------------------------//
    if ph and pl=0 then
    dir=1
    elsif pl and ph=0 then
    dir=-1
    else
    dir=dir
    endif
    
    dirchanged=dir<>dir[1]
    //----------------------------------------------------------------------------//
    //-----Calculate Arrays for each pivot----------------------------------------//
    if ph or pl then
    if dirchanged then
    if dir=1 and not ZZpercent then
    $zigzag[t+1]=highest[prd](high)
    $zigzagidx[t+1]=barindex
    $dir[t+1]=1
    t=t+1
    elsif dir=-1 and not ZZpercent then
    $zigzag[t+1]=lowest[prd](low)
    $zigzagidx[t+1]=barindex
    $dir[t+1]=-1
    t=t+1
    elsif dir=1 and ZZpercent then
    $zigzag[t+1]=zz[1]
    $zigzagidx[t+1]=barindex[1]
    $dir[t+1]=1
    t=t+1
    elsif dir=-1 and ZZpercent then
    $zigzag[t+1]=zz[1]
    $zigzagidx[t+1]=barindex[1]
    $dir[t+1]=-1
    t=t+1
    endif
    else
    if not ZZpercent then
    if dir=1 and highest[prd](high)> $zigzag[t] then
    $zigzag[t]=highest[prd](high)
    $zigzagidx[t]=barindex
    elsif dir=-1 and lowest[prd](low)< $zigzag[t] then
    $zigzag[t]=lowest[prd](low)
    $zigzagidx[t]=barindex
    endif
    endif
    endif
    endif
    //----------------------------------------------------------------------------//
    //-----Drawing conditions-----------------------------------------------------//
    if islastbarupdate then
    //-----Draw zig-zag--------------------------------------------------------//
    for i=1 to t do
    drawsegment($zigzagidx[max(0,i-1)],$zigzag[max(0,i-1)],$zigzagidx[i],$zigzag[i])coloured("grey",75)style(line,2)
    next
    //-----Draw Last N Zig and Fibonacci Levels---------------------------------//
    if $dir[t]=1 and checkUp then
    pos=t-2*N
    elsif $dir[t]=1 and not checkUp then
    pos=t-2*N-1
    elsif $dir[t]=-1 and checkUp then
    pos=t-2*N-1
    elsif $dir[t]=-1 and not checkUp then
    pos=t-2*N
    endif
    
    drawsegment($zigzagidx[max(0,pos-1)],$zigzag[max(0,pos-1)],$zigzagidx[max(0,pos)],$zigzag[max(0,pos)])
    drawpoint($zigzagidx[max(0,pos-1)],$zigzag[max(0,pos-1)],2)coloured("blue",100)
    drawpoint($zigzagidx[max(0,pos)],$zigzag[max(0,pos)],2)coloured("blue",100)
    
    
    if $dir[t]=1 then
    //-----Calculation when trend Up----------------------------------------//
    fib0=$zigzag[max(0,pos-1)]
    fib100=$zigzag[max(0,pos)]
    diff=fib100-fib0
    
    fib0236=fib100-diff*0.236
    fib0382=fib100-diff*0.382
    fib0500=fib100-diff*0.500
    fib0618=fib100-diff*0.618
    fib0786=fib100-diff*0.786
    
    if t>pos then
    extdiff=fib100-$zigzag[max(0,pos+1)]
    else
    extdiff=diff
    endif
    
    fib1618=fib100+extdiff*0.618
    fib2000=fib100+extdiff*1.0
    fib2382=fib100+extdiff*1.382
    fib2618=fib100+extdiff*1.618
    fib3382=fib100+extdiff*2.382
    fib3618=fib100+extdiff*2.618
    fib4618=fib100+extdiff*3.618
    fib5236=fib100+extdiff*4.236
    
    drawsegment($zigzagidx[max(0,pos-1)],fib0,barindex+10,fib0)style(line,2)coloured("grey")
    drawsegment($zigzagidx[max(0,pos-1)],fib0236,barindex+10,fib0236)style(dottedline,1)coloured("grey")
    drawsegment($zigzagidx[max(0,pos-1)],fib0382,barindex+10,fib0382)style(dottedline,1)coloured("grey")
    drawsegment($zigzagidx[max(0,pos-1)],fib0500,barindex+10,fib0500)style(dottedline,2)coloured("blue")
    
    drawsegment($zigzagidx[max(0,pos-1)],fib0618,barindex+10,fib0618)style(dottedline,2)coloured("red")
    drawsegment($zigzagidx[max(0,pos-1)],fib0786,barindex+10,fib0786)style(dottedline,1)coloured("grey")
    drawsegment($zigzagidx[max(0,pos-1)],fib100,barindex+10,fib100)style(line,2)coloured("grey")
    drawsegment($zigzagidx[max(0,pos-1)],fib1618,barindex+10,fib1618)style(dottedline,1)coloured("grey")
    
    drawsegment($zigzagidx[max(0,pos-1)],fib2000,barindex+10,fib2000)style(dottedline,1)coloured("grey")
    drawsegment($zigzagidx[max(0,pos-1)],fib2382,barindex+10,fib2382)style(dottedline,1)coloured("grey")
    drawsegment($zigzagidx[max(0,pos-1)],fib2618,barindex+10,fib2618)style(dottedline,1)coloured("grey")
    drawsegment($zigzagidx[max(0,pos-1)],fib3382,barindex+10,fib3382)style(dottedline,1)coloured("grey")
    drawsegment($zigzagidx[max(0,pos-1)],fib3618,barindex+10,fib3618)style(dottedline,1)coloured("grey")
    drawsegment($zigzagidx[max(0,pos-1)],fib4618,barindex+10,fib4618)style(dottedline,1)coloured("grey")
    drawsegment($zigzagidx[max(0,pos-1)],fib5236,barindex+10,fib5236)style(dottedline,1)coloured("grey")
    
    drawrectangle($zigzagidx[max(0,pos-1)],fib1618,barindex+10,fib2000)style(dottedline,1)coloured("grey",0)fillcolor("orange",30)
    drawrectangle($zigzagidx[max(0,pos-1)],fib2382,barindex+10,fib2618)style(dottedline,1)coloured("grey",0)fillcolor("orange",30)
    drawrectangle($zigzagidx[max(0,pos-1)],fib3382,barindex+10,fib3618)style(dottedline,1)coloured("grey",0)fillcolor("orange",30)
    drawrectangle($zigzagidx[max(0,pos-1)],fib4618,barindex+10,fib5236)style(dottedline,1)coloured("grey",0)fillcolor("orange",30)
    
    drawrectangle($zigzagidx[max(0,pos-1)],fib0,barindex+10,fib0618)style(dottedline,1)coloured("grey",0)fillcolor("blue",30)
    
    drawtext("Fib 0%: #fib0#",barindex+10,fib100+0.05*atr)
    drawtext("Fib 50%: #fib0500#",barindex+10,fib0500+0.05*atr)
    drawtext("Fib 100%: #fib100#",barindex+10,fib0+0.05*atr)
    elsif $dir[t]=-1 then
    //-----Calculation when trend Down--------------------------------------//
    fib0=$zigzag[max(0,pos)]
    fib100=$zigzag[max(0,pos-1)]
    diff=fib100-fib0
    
    fib0236=fib0+diff*0.236
    fib0382=fib0+diff*0.382
    fib0500=fib0+diff*0.500
    fib0618=fib0+diff*0.618
    fib0786=fib0+diff*0.786
    
    if t>pos then
    extdiff=$zigzag[max(0,pos+1)]-fib0
    else
    extdiff=diff
    endif
    
    fib1618 = fib0 - extdiff * 0.618
    fib2000 = fib0 - extdiff * 1.0
    fib2382 = fib0 - extdiff * 1.382
    fib2618 = fib0 - extdiff * 1.618
    fib3382 = fib0 - extdiff * 2.382
    fib3618 = fib0 - extdiff * 2.618
    fib4618 = fib0 - extdiff * 3.618
    fib5236 = fib0 - extdiff * 4.236
    
    drawsegment($zigzagidx[max(0,pos-1)],fib0,barindex+10,fib0)style(line,2)coloured("grey")
    drawsegment($zigzagidx[max(0,pos-1)],fib0236,barindex+10,fib0236)style(dottedline,1)coloured("grey")
    drawsegment($zigzagidx[max(0,pos-1)],fib0382,barindex+10,fib0382)style(dottedline,1)coloured("grey")
    drawsegment($zigzagidx[max(0,pos-1)],fib0500,barindex+10,fib0500)style(dottedline,2)coloured("blue")
    drawsegment($zigzagidx[max(0,pos-1)],fib0618,barindex+10,fib0618)style(dottedline,2)coloured("red")
    drawsegment($zigzagidx[max(0,pos-1)],fib0786,barindex+10,fib0786)style(dottedline,1)coloured("grey")
    drawsegment($zigzagidx[max(0,pos-1)],fib100,barindex+10,fib100)style(line,2)coloured("grey")
    
    drawsegment($zigzagidx[max(0, pos-1)], fib1618, barindex + 10, fib1618) style(dottedline, 1) coloured("grey")
    drawsegment($zigzagidx[max(0, pos-1)], fib2000, barindex + 10, fib2000) style(dottedline, 1) coloured("grey")
    drawsegment($zigzagidx[max(0, pos-1)], fib2382, barindex + 10, fib2382) style(dottedline, 1) coloured("grey")
    drawsegment($zigzagidx[max(0, pos-1)], fib2618, barindex + 10, fib2618) style(dottedline, 1) coloured("grey")
    drawsegment($zigzagidx[max(0, pos-1)], fib3382, barindex + 10, fib3382) style(dottedline, 1) coloured("grey")
    drawsegment($zigzagidx[max(0, pos-1)], fib3618, barindex + 10, fib3618) style(dottedline, 1) coloured("grey")
    drawsegment($zigzagidx[max(0, pos-1)], fib4618, barindex + 10, fib4618) style(dottedline, 1) coloured("grey")
    drawsegment($zigzagidx[max(0, pos-1)], fib5236, barindex + 10, fib5236) style(dottedline, 1) coloured("grey")
    
    drawrectangle($zigzagidx[max(0,pos-1)],fib1618,barindex+10,fib2000)style(dottedline,1)coloured("grey",0)fillcolor("orange",30)
    drawrectangle($zigzagidx[max(0,pos-1)],fib2382,barindex+10,fib2618)style(dottedline,1)coloured("grey",0)fillcolor("orange",30)
    drawrectangle($zigzagidx[max(0,pos-1)],fib3382,barindex+10,fib3618)style(dottedline,1)coloured("grey",0)fillcolor("orange",30)
    drawrectangle($zigzagidx[max(0,pos-1)],fib4618,barindex+10,fib5236)style(dottedline,1)coloured("grey",0)fillcolor("orange",30)
    
    drawrectangle($zigzagidx[max(0,pos-1)],fib100,barindex+10,fib0618)style(dottedline,1)coloured("grey",0)fillcolor("blue",30)
    
    drawtext("Fib 0%: #fib0#",barindex+10,fib0+0.05*atr)
    drawtext("Fib 50%: #fib0500#",barindex+10,fib0500+0.05*atr)
    drawtext("Fib 100%: #fib100#",barindex+10,fib100+0.05*atr)
    endif
    
    endif
    
    return
    

    Gracias

    #258492 quote
    Iván González
    Moderator
    Master

    Buenas. Este grupo es sólo para traducir indicadores de tradingview a prorealtime.

    En tu caso, quieres un screener por lo que el lugar correcto para publicarlo será el foro en español en la seccion de screeners.

    Lo muevo allí.

    Por otro lado, qué es lo que quieres buscar de este indicador?

    #258497 quote
    Maricarmen
    Participant
    Junior

    Buenas

    Perdón por no utilizar el foro correspondiente, procuraré que no vuelva a ocurrir.

    Lo que pretendo es utilizar patrones ZigZag anteriores para estimar posibles movimientos de precios que identifiquen Niveles de Extensión Fibonacci para futuros objetivos de precios (0.382 %, 0.50 %, 0.618 %)

    Un saludo, y muchísimas gracias.

    #258506 quote
    Iván González
    Moderator
    Master

    Me vas a perdonar pero la verdad es que no sé muy bien lo que buscas… he superpuesto al indicador fibonacci un indicador que marca los pivotes.

    Exactamente qué quieres localizar?


    2026-02-26_11-46.png 2026-02-26_11-46.png
Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.

screener Retroceso de Fibonacci


ProScreener: Buscadores de Mercado y Rastreo

New Reply
Author
author-avatar
Maricarmen @maricarmen Participant
Summary

This topic contains 3 replies,
has 2 voices, and was last updated by Iván González
1 day, 16 hours ago.

Topic Details
Forum: ProScreener: Buscadores de Mercado y Rastreo
Language: Spanish
Started: 02/25/2026
Status: Active
Attachments: 1 files
Logo Logo
Loading...