solo se dibuje en las ultimas 4 velas

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #219755 quote
    PedroJimenez
    Participant
    New

    tengo un dibujo y lo uso con “defparam calculateonlastbars = 4” pero al iniciarlo me empieza bien solo dibujando 4 pero segun va pasando velas se quedan esas 4 y todas las siguientes, como podrias que solo se me dibujara solo en las 4 ultimas aunque pasen velas que se me vayan borrando en las antiguos y dibujando en los nuevos. Un saludo

    #219760 quote
    JC_Bywan
    Moderator
    Master

    Hola,

    podemos usar un defparam drawonlastbaronly=true 

    y en lugar de “return” con drawsegment (y con otras instrucciones de dibujo) dibujar 4 veces en lugar de una en el código : una vez para la vela actual y 3 veces para las 3 velas anteriores, así en cada vela nueva siempre tendremos el dibujo solo para las 4 velas más recientes

    #219764 quote
    PedroJimenez
    Participant
    New

    No logro enternderlo muy bien, podrias hacerlo con este ejemplo, que solo se me pueda dibujar la flecha en las ultimas 4 velas. Un saludo

    defparam drawonlastbaronly=true 
    ema3= ExponentialAverage[3](close) 
    ema9= ExponentialAverage[9](close) 
    
    IF ema3 CROSSES OVER ema9 then
    DRAWARROWUP(barindex, close) COLOURED(0,255,0) 
    ENDIF 
    RETURN
    #219824 quote
    JC_Bywan
    Moderator
    Master

    Hola,

    con este ejemplo, podemos dibujar las flechas en las ultimas 4 velas:

    defparam drawonlastbaronly=true
    
    N=4 // number of candles (including current one) you want your arrows displayed on
    
    ema3= ExponentialAverage[3](close)
    ema9= ExponentialAverage[9](close)
    
    crossup= ema3 CROSSES OVER ema9
    crossdown= ema3 CROSSES UNDER ema9
    
    for i=0 to N-1
    IF crossup[i] then
    DRAWARROWUP(barindex[i], close[i]) COLOURED(0,255,0)
    ENDIF
    IF crossdown[i] then
    DRAWARROWdown(barindex[i], close[i]) COLOURED(255,0,0)
    ENDIF
    next
    
    return
    #219937 quote
    PedroJimenez
    Participant
    New

    y como podría hacerlo en este código que siempre se dibujen las 4 ultimas?

    psar = SAR[0.02,0.02,0.2]
    A = ABS(psar - psar[1])
    B= ABS(A-A[1])
    Distancia = psar - psar[1]
    IF psar > close then
    if psar[1] < close[1]THEN
    Distancia = 0
    ELSE
    IF (Distancia > Distancia[1]) AND (Distancia[1] <> 0) THEN
    
    ENDIF
    ENDIF
    DrawText("#A#",BarIndex[0],Offset,dialog,bold,14)
    elsif psar < close then
    if psar[1] > close[1]THEN
    Distancia = 0
    ELSE
    IF (Distancia > Distancia[1]) AND (Distancia[1] <> 0) THEN
    
    ENDIF
    ENDIF
    DrawText("#A#",BarIndex[0],Offset,dialog,bold,14)
    ENDIF
    Offset = psar - (average[100,0](range) / 3)
    IF close <= psar THEN
    Offset = psar + (average[100,0](range) / 3)
    endif
    iF psar > close then
    DRAWTEXT(psar, barindex,PSAR+16)
    else
    DRAWTEXT(psar, barindex,PSAR-16)
    endif
    
    
    
    C1= CLOSE => PSAR
    C2= CLOSE <= PSAR
    
    CONTADOR = 0
    IF distancia => distancia[1] AND C1 THEN
    CONTADOR = 1 + CONTADOR[1]
    PE = HIGHEST [CONTADOR+1](HIGH)
    DrawText("↓",BarIndex[0],Offset,dialog,bold,30) coloured("Red",255)
    
    ENDIF
    
    CUENTA = 0
    IF distancia <= distancia[1] AND C2 THEN
    CUENTA = 1+ CUENTA [1]
    PE = LOWEST[CUENTA+1] (LOW)
    DrawText("↓",BarIndex[0],Offset,dialog,bold,30) coloured("Red",255)
    
    ENDIF
    
    IF C2 AND CLOSE > PSAR THEN
    CUENTA = 1+ CUENTA [1]
    PE = LOWEST[CUENTA+1] (LOW)
    DrawText("↓",BarIndex[0],Offset,dialog,bold,30) coloured("Red",255)
    
    
    ENDIF
    
    
    RETURN a as "distancia"

     

    ?

    #219977 quote
    JC_Bywan
    Moderator
    Master

    Para dibujar las flechas en las ultimas 4 velas (y los valores solo en la ultima), aqui esta:

    defparam drawonlastbaronly=true
    FL1=0
    FL2=0
    FL3=0
    N=4 // number of candles (including current one) you want your arrows displayed on
    
    psar = SAR[0.02,0.02,0.2]
    A = ABS(psar - psar[1])
    B= ABS(A-A[1])
    Distancia = psar - psar[1]
    IF psar > close then
    if psar[1] < close[1]THEN
    Distancia = 0
    ELSE
    IF (Distancia > Distancia[1]) AND (Distancia[1] <> 0) THEN
    
    ENDIF
    ENDIF
    DrawText("#A#",BarIndex[0],Offset,dialog,bold,14)
    elsif psar < close then
    if psar[1] > close[1]THEN
    Distancia = 0
    ELSE
    IF (Distancia > Distancia[1]) AND (Distancia[1] <> 0) THEN
    
    ENDIF
    ENDIF
    DrawText("#A#",BarIndex[0],Offset,dialog,bold,14)
    ENDIF
    Offset = psar - (average[100,0](range) / 3)
    IF close <= psar THEN
    Offset = psar + (average[100,0](range) / 3)
    endif
    iF psar > close then
    DRAWTEXT(psar, barindex,PSAR+16)
    else
    DRAWTEXT(psar, barindex,PSAR-16)
    endif
    
    
    
    
    C1= CLOSE => PSAR
    C2= CLOSE <= PSAR
    
    CONTADOR = 0
    IF distancia => distancia[1] AND C1 THEN
    CONTADOR = 1 + CONTADOR[1]
    PE = HIGHEST [CONTADOR+1](HIGH)
    //DrawText("↓",BarIndex[0],Offset,dialog,bold,30) coloured("Red",255)
    FL1=1
    
    ENDIF
    
    CUENTA = 0
    IF distancia <= distancia[1] AND C2 THEN
    CUENTA = 1+ CUENTA [1]
    PE = LOWEST[CUENTA+1] (LOW)
    //DrawText("↓",BarIndex[0],Offset,dialog,bold,30) coloured("Red",255)
    FL2=1
    
    ENDIF
    
    IF C2 AND CLOSE > PSAR THEN
    CUENTA = 1+ CUENTA [1]
    PE = LOWEST[CUENTA+1] (LOW)
    //DrawText("↓",BarIndex[0],Offset,dialog,bold,30) coloured("Red",255)
    FL3=1
    
    ENDIF
    
    for i=0 to N-1
    if FL1[i] or FL2[i] or FL3[i] then
    DrawText("↓",BarIndex[i],Offset[i],dialog,bold,30) coloured("Red",255)
    endif
    next
    
    RETURN a as "distancia"
Viewing 6 posts - 1 through 6 (of 6 total)
  • You must be logged in to reply to this topic.

solo se dibuje en las ultimas 4 velas


ProBuilder: Indicadores y Herramientas

New Reply
Author
Summary

This topic contains 5 replies,
has 2 voices, and was last updated by JC_Bywan
2 years, 5 months ago.

Topic Details
Forum: ProBuilder: Indicadores y Herramientas
Language: Spanish
Started: 08/24/2023
Status: Active
Attachments: No files
Logo Logo
Loading...