Curso Gratuito - Trading IA
Incrementar variable pinescript V5

Voy a tratar un tema que se os puede hacer algo dificultoso.
Versión 4 VS Versión 5
En la versión 4 era muy fácil incrementar una variable cuando se cumplía una condición. Simplemente:
- Inicializa a cero o na.
- Recupera el valor anterior de la variable.
- Actualiza si se cumple la condición y sino mantiene el anterior.
En la versión 5 esto es algo más difícil (aunque mejoran en muchas cosas, aquí en mi opinión empeora).
Utilidad
Y esto, ¿Para qué me sirve?
Por ejemplo, para contar los stops y las operaciones de un backtest y sacar números, eso que tanto os gusta.
Variable bar_index
Os dejo el enlace a bar_index en la documentación oficial de Pine Script, os va a hacer falta. Esta variable almacena en qué vela estamos contando como 0 la primera vela del gráfico cargado y X la última. Nos servirá para saber si estamos en la primera vela o no e iniciar las variables.
Ejemplo de código
int variable = na if bar_index == 0 variable := 0 else variable := variable[1] if contición_incremento variable += 1 // Observando como se comporta esta variable en la ventana de datos plotchar(variable, char="")
Un saludo!
Comentarios
-
Hola Luis, he modificado el código para que me funcione, de este modo me cuenta tantas velas como tiene el gráfico, que en mi caso con la versión gratuita es de 5239.
//@version=5 indicator("Pintar variable", overlay=true) int variable = na condicion_incremento = false if bar_index == 0 variable := 0 else variable := variable[1] condicion_incremento := true if condicion_incremento variable += 1 // Observando como se comporta esta variable en la ventana de datos plotchar(variable, title= "Variable", char="Variable")
1 -
Para incrementar una variable en Pine Script versión 5, puedes utilizar el operador de asignación
:=
. Aquí tienes un ejemplo de cómo incrementar una variable llamadacount
cuando se cumple una condición específica://@version=5
indicator(title="Incremento de Variable", shorttitle="IncVar", overlay=true)
// Inicializa la variable count
var count = 0
// Condiciones para incrementar count
if close >= open
count := count + 1
// Dibuja el valor de count
plot(count, title="Contador")En este ejemplo, la variable
count
se incrementa en 1 cada vez que el precio de cierre (close
) es mayor o igual al precio de apertura (open
). Puedes adaptar esta lógica según tus necesidades específicas. ¡Espero que te sea útilEsta respuesta ha sido generada con sistemas de Inteligencia Artificial y revisada por el equipo de este foro.
0 -
Sin embargo, si inicializamos la variable como int o sin definir un tipo, no funciona en V5 pero sí en V4.
1 -
Es bueno saberlo, gracias
1 -
Es ese tipo de tonterías que te puede tener una semana dándole vueltas y que no sacas.
0 -
Totalmente, pues imagínate cuando tienes 10 tonterías de esas como estoy yo ahora mismo 😂😂😂
1
Categorías
- Todas las Categorías
- 19 Presentaciones
- 45 Nuestros sistemas (Curso gratuito)
- 70 Operativa y Sistemas de trading
- 24 Inversiones
- 12 Inteligencia Artificial y Optimización de Algoritmos
- 62 Plataformas
- 27 Programación e Inteligencia Artificial
- 20 Brokers
- 10 Bancos
- 26 Pruebas de fondeo
- 8 Psicología y Trading
- 6 Fiscalidad
- 85 Otros temas