valor close de una vela concreta diariamente

El espacio del Foro donde compartir indicadores y estrategias creados con el lenguaje de la plataforma TradingView.
Responder
elarvi
Mensajes: 226
Registrado: 22 Mar 2022 16:47

valor close de una vela concreta diariamente

Mensaje por elarvi »

Buenas,

Me gustaría pedir vuestra ayuda para poder determinar el valor de una vela concreta y que me valga para cualquier temporalidad, es decir, me gustaría tomar el valor Close de las 21:59 en temporalidad de 1 minuto, o bien el valor close de la vela de las 21:00 en temporalidad de 1h, etc. Y así cada día.

Se que con sentencias tipo IF, podría decirle qué valor tomar en cada uno de los casos, pero con el fin de hacer un código más sencillo, existe alguna función que me tome ese valor de close, justo de la última vela, antes de las 22:00, p.e.???

Por el momento lo he resuelto del siguiente modo

Código: Seleccionar todo

//define la línea de cierre
// ————— Converts current chart timeframe into a float minutes value.
f_resInMinutes() => 
    _resInMinutes = timeframe.multiplier * (
      timeframe.isseconds ? 1. / 60             :
      timeframe.isminutes ? 1.                  :
      timeframe.isdaily   ? 60. * 24            :
      timeframe.isweekly  ? 60. * 24 * 7        :
      timeframe.ismonthly ? 60. * 24 * 30.4375  : na)
f_resInMinutes()

// en horario de verano cambiar a GMT+2 y en horario de invierno cambiar a GMT+1
var CloseValueTime = 0.0
if f_resInMinutes() < 2
    CloseValueTime := time_close(timeframe.period, "2159-2200","GMT+1")
else if f_resInMinutes() < 4
    CloseValueTime := time_close(timeframe.period, "2157-2158","GMT+1")
else if f_resInMinutes() < 6
    CloseValueTime := time_close(timeframe.period, "2155-2156","GMT+1")
else if f_resInMinutes() < 16
    CloseValueTime := time_close(timeframe.period, "2145-2146","GMT+1")
else if f_resInMinutes() < 31
    CloseValueTime := time_close(timeframe.period, "2130-2131","GMT+1")
else if f_resInMinutes() < 46
    CloseValueTime := time_close(timeframe.period, "2115-2116","GMT+1")
else if f_resInMinutes() < 61
    CloseValueTime := time_close(timeframe.period, "2100-2101","GMT+1")
Por otro lado, si pudiera evitar el tener que cambiar entre horario de verano y invierno, pues aún mejor....

Muchas gracias por anticipado.
Avatar de Usuario
cdtrader
Mensajes: 588
Registrado: 28 Dic 2016 17:04

Re: valor close de una vela concreta diariamente

Mensaje por cdtrader »

iClose(…) si mal no recuerdo en mql4


Enviado desde mi iPhone utilizando Tapatalk
Imagen
Avatar de Usuario
cdtrader
Mensajes: 588
Registrado: 28 Dic 2016 17:04

Re: valor close de una vela concreta diariamente

Mensaje por cdtrader »

No vi que era en pinescript, lo siento


Enviado desde mi iPhone utilizando Tapatalk
Imagen
elarvi
Mensajes: 226
Registrado: 22 Mar 2022 16:47

Re: valor close de una vela concreta diariamente

Mensaje por elarvi »

cdtrader escribió: 26 Feb 2023 15:30 No vi que era en pinescript, lo siento


Enviado desde mi iPhone utilizando Tapatalk
Buenos días, nada que perdonar, yo tampoco puse que se trataba de pine script....

Muchas gracias de todas formas.
gu5tavo71
Mensajes: 27
Registrado: 12 Sep 2022 00:15
Contactar:

Re: valor close de una vela concreta diariamente

Mensaje por gu5tavo71 »

Hola

Con timeframe.period podrias reemplazar a f_resInMinutes
https://es.tradingview.com/pine-script- ... dot}period

Y la cadena de if else, por un switch
https://es.tradingview.com/pine-script- ... #op_switch

Pero en definitiva, el resultado sería lo mismo

Código: Seleccionar todo

var CloseValueTime = 0.0
CloseValueTime := switch timeframe.period
    '1'     => time_close(timeframe.period, "2159-2200","GMT+1")
    '3'     => time_close(timeframe.period, "2157-2158","GMT+1")
@gu5tavo71
Senior PineScript Developer
TradingView | Twitter | Freelancer | Telegram

elarvi
Mensajes: 226
Registrado: 22 Mar 2022 16:47

Re: valor close de una vela concreta diariamente

Mensaje por elarvi »

gu5tavo71 escribió: 27 Feb 2023 14:21 Hola

Con timeframe.period podrias reemplazar a f_resInMinutes
https://es.tradingview.com/pine-script- ... dot}period

Y la cadena de if else, por un switch
https://es.tradingview.com/pine-script- ... #op_switch

Pero en definitiva, el resultado sería lo mismo

Código: Seleccionar todo

var CloseValueTime = 0.0
CloseValueTime := switch timeframe.period
    '1'     => time_close(timeframe.period, "2159-2200","GMT+1")
    '3'     => time_close(timeframe.period, "2157-2158","GMT+1")
Buenas gu5tavo71

Es admirable cómo manejas el código, siempre me descubres algo nuevo.

Muchas gracias por el aporte, espero poderte devolver el favor algún día.
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Pine Script”