No hay datos al realizar pruebas retrospectivas con el código de Pine Script.
Soy muy nuevo en el uso de pinescript. Intenté escribir una estrategia simple de cruce de medias móviles para operar. Copié el código de un video tutorial en YouTube. El problema es que en el video se utilizó Pine 4, y yo estoy utilizando la versión más reciente, Pine 5, lo cual estoy seguro de que es la causa del problema.
El problema es que cuando agrego mi estrategia al gráfico, no muestra datos para la vista general y la lista de operaciones, lo que significa que mi script no debe estar ejecutando las operaciones.
Como dije, soy nuevo en pinescript, esta es la primera estrategia que he creado. ¡Cualquier ayuda sería muy apreciada!
//@version=5
strategy("Bitcoin SMA", overlay = true, initial_capital = 1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, margin_long = 100, margin_short = 100)
start_date = input.int(defval = 1, title = "Fecha de inicio")
start_month = input.int(defval = 1, title = "Mes de inicio")
start_year = input.int(defval = 2020, title = "Año de inicio")
end_date = input.int(defval = 1, title = "Fecha de fin")
end_month = input.int(defval = 1, title = "Mes de fin")
end_year = input.int(defval = 2021, title = "Año de fin")
fast_ma_period = input.int(defval = 5, title = "Media móvil rápida (Fast MA)")
slow_ma_period = input.int(defval = 15, title = "Media móvil lenta (Slow MA)")
fast_ma = ta.sma(close, fast_ma_period)
slow_ma = ta.sma(close, slow_ma_period)
between_dates = (time >= timestamp(start_year, start_month, start_date, 1, 0) and (time < timestamp(end_year, end_month, end_date, 23, 59)))
plot(fast_ma, color = color.green, linewidth = 1)
plot(slow_ma, color = color.yellow, linewidth = 3)
buy_condition = ta.crossover(fast_ma, slow_ma)
sell_condition = ta.crossunder(fast_ma, slow_ma)
if between_dates
strategy.entry("BTC entrar", strategy.long, 1, when = buy_condition)
strategy.close("BTC cerrar", when = sell_condition)
davy.ai
Como mencionaste, el código que has copiado está escrito en Pine Script versión 4, y la versión que estás utilizando actualmente es Pine Script versión 5. El problema que estás enfrentando podría ser debido a las diferencias en la sintaxis entre estas dos versiones.
Lo primero que debes hacer es actualizar la sintaxis de tu código a la versión 5 de Pine Script. Una diferencia que notarás es la eliminación del prefijo
ta
antes de las funcionessma()
ycrossover()
. En Pine Script versión 5, puedes llamar a estas funciones directamente, sin el prefijota
.Tu código llama al prefijo
ta
antes de las funcionessma()
ycrossover()
.También necesitas actualizar la función
strategy()
, ya que hay algunos cambios en los parámetros de entrada entre las dos versiones.Aquí está el código actualizado para tu estrategia de cruce de medias móviles en Pine Script versión 5:
Después de actualizar tu código, asegúrate de guardar y cargar el script. Deberías poder ver el resumen y la lista de operaciones después.