Importar desde Pine Script
1Importar desde Pine Script
Cómo trasladar un indicador de Pine Script a LootScript: dónde está el botón de importación, qué convierte el conversor automáticamente, qué marca para revisar y cómo pulir el resultado.
Si un indicador ya está escrito en Pine Script, no hace falta reescribirlo a mano. El terminal convierte el archivo .pine a LootScript: cambia la sintaxis y los nombres, añade lo que falta y escribe notas al principio del archivo indicando qué se modificó y dónde el conversor tuvo que adivinar.
El conversor es un traductor, no una capa de compatibilidad. No garantiza los mismos números que en el entorno original, y no añade al terminal funciones que allí no existen. Por eso, después de importar debes abrir el script, leer las notas y comprobarlo en el Gráfico. LootScript se desarrolló de forma independiente y no está ligado a TradingView: la sintaxis es similar a propósito, pero los lenguajes no son compatibles.
Cómo importar
Abra la ventana Indicadores
Presione ƒ en el panel del Gráfico — se abrirá la ventana Indicadores.
Haga clic en «Importar…»
El botón está junto a la barra de búsqueda. Seleccione un archivo .pine, .loot o .txt. El archivo .loot irá a la biblioteca tal cual. El archivo .pine —o un archivo de texto similar a Pine Script— pasará por el conversor.
Lea el resultado
Debajo de la barra de búsqueda aparecerá una de estas líneas:
- «Importado «…»» — no hay notas, el script está listo;
- «Importado «…»: notas del conversor — N, ver encabezado del script»;
- «Importado «…», pero el script no compila (errores: N)…» — junto al texto se mostrará el primer error.
La ventana cambiará a la sección Mis scripts, y en la búsqueda se pondrá el nombre del nuevo script.
Abra el script en el Editor
Lea el encabezado con las notas y corrija lo que indique. Cómo — más abajo.
La importación no sobrescribe un script con el mismo nombre: el nuevo recibirá un sufijo, por ejemplo -2. El archivo original no se modifica.
A través de la carpeta de scripts
También puedes simplemente colocar el archivo nombre.pine en la carpeta de scripts — en Windows es %APPDATA%\TradingTerminal\scripts. Al siguiente inicio, el terminal creará junto a él nombre.loot. Si nombre.loot ya existe, no se tocará — no perderás tus cambios. Para convertir de nuevo, por ejemplo después de actualizar el terminal, elimina el .loot.
Qué hace el conversor
- Indentación → llaves. Los bloques
if,else if,else, bucles y funciones reciben llaves. Las líneas de continuación se unen en una sola. - Funciones.
f(x) =>se convierte enfunc f(x), y la última expresión de la función se convierte en unreturnexplícito. - Bucles. El inclusivo
for i = 0 to 9pasa a semi-abiertofor i in 0 .. 10. La dirección se toma del paso o de literales de los límites; si no se ve, el conversor asume que el bucle es ascendente y lo indica. - Condicionales como valores. Un
ifcon una sola expresión en las ramas se convierte en operador ternario;switchrecibe llaves. - Transparencia → alfa. En Pine Script la transparencia va de 0 a 100, donde 0 es opaco. En LootScript alfa va de 0 a 255, donde 255 es opaco.
color.new(c, 50)se convertirá encolor.new(c, 128), y el argumentotransp=se transformará en uncolor.new(…)alrededor del color. - Nombres. Los nombres antiguos sin espacio de nombres reciben uno:
sma→ta.sma.study→indicator,security→request.security,tostring→str.tostring,syminfo.*→sym.*,timeframe.*→tf.*. La forma cortainput(…)recibe tipo:input.int,input.source, etc. - Nombres reservados. Una variable cuyo nombre en LootScript sea palabra clave o espacio de nombres (
delta,oi,tf,sym,func…) recibe un guion bajo al final en todas sus apariciones:delta→delta_. - Argumentos extra — aquellos que no existen en la función en LootScript — se eliminan.
- Declaración. Si el archivo no contenía
indicator(…)ostrategy(…), el conversor añadirá unindicatorcon el nombre del archivo. - Comentarios y líneas vacías permanecen en su sitio.
El conversor no rechaza ningún archivo. La línea que no entienda no la elimina, la deja como comentario // [не разобрано] … en la misma posición.
Encabezado con notas
La primera línea del encabezado indica de dónde viene el archivo — «Importado desde un script en Pine Script (versión 5). Notas del conversor:». Luego, una línea por cada modificación, en orden de las líneas del origen: «Línea N: tipo: qué — detalles». Las notas se escriben en el idioma de la interfaz.
| Tipo de nota | Qué significa | ¿Revisar? |
|---|---|---|
| renombrado | Nombre reemplazado por el análogo en LootScript | no |
| recalculado | Transparencia convertida a alfa | no |
| reescrito | Cambió la forma: bucle, return, tipo de input corto |
echar un vistazo |
| el nombre «…» está reservado en LootScript | A la variable se le añadió un guion bajo | no |
| no había declaración indicator(…) | Se añadió la declaración usando el nombre del archivo | no |
| argumento eliminado | La función en LootScript no tiene ese parámetro | sí |
| suposición | El conversor adivinó: dirección del bucle, tipo de entrada que no pudo deducir | sí |
| no está en esta build | Esa función no existe en el terminal — el script no compilará por “nombre desconocido” | sí |
| no analizado | La línea no se pudo parsear; se conserva como comentario | sí |
Cuando lo hayas comprobado, puedes eliminar el encabezado — son comentarios ordinarios.
Ejemplo
Pequeño indicador en Pine Script: columnas del rango de la vela, resaltadas cuando el rango es el doble del promedio.
//@version=5
indicator("Range spike", overlay=false)
len = input.int(20, "Length")
avgRange(n) =>
r = high - low
ta.sma(r, n)
base = avgRange(len)
spike = high - low > base * 2
plot(high - low, style=plot.style_columns, color=spike ? color.orange : color.new(color.gray, 60))
plot(base, color=color.blue, trackprice=true)Así lo escribe el conversor:
// Импортировано из скрипта на Pine Script (версия 5). Заметки конвертера:
//
// Строка 6: переписано: avgRange — неявный возврат последнего оператора записан как return
// Строка 9: пересчитано: transp → alpha — прозрачность 0…100 пересчитана в альфу 0…255
// Строка 10: аргумент снят: plot: trackprice — такого параметра в LootScript нет
indicator("Range spike", overlay = false)
len = input.int(20, "Length")
func avgRange(n) {
r = high - low
return ta.sma(r, n)
}
base = avgRange(len)
spike = high - low > base * 2
plot(high - low, color = spike ? color.orange : color.new(color.gray, 102), style = plot.style_columns)
plot(base, color = color.blue)La función recibió llaves y return, la transparencia 60 pasó a alfa 102, y trackprice se eliminó — ese parámetro no existe. La nota «argumento eliminado» pide que verifiques si ese parámetro era necesario en sentido lógico. Aquí solo dibujaba la línea del último valor, y el script funciona sin él.
Cómo comprobar y pulir
- Lee el encabezado. Empieza por las líneas con tipos «argumento eliminado», «suposición», «no está en esta build» y «no analizado».
- Mira la pestaña Problemas en la consola del Editor. Un script con errores no se añadirá al Gráfico.
- Usa ‘Añadir al gráfico’ y compáralo con lo que mostraba el original en varios tramos del histórico.
- Pide ayuda al asistente. Abre el Asistente de IA y escribe
/fix— él compilará el script, lo ejecutará sobre velas y corregirá errores. Puedes añadir una aclaración:/fix analiza las notas del conversor en el encabezado./explainexplicará qué hace el script.
Qué no se transfiere
- Funciones que no existen en el terminal. El nombre queda en el código, la nota «no está en esta build» y el error del compilador señalan la misma ubicación. Sustituye la llamada a mano o pide al asistente que sugiera un análogo.
- Cadenas multilínea, importación de librerías ajenas, exportación de funciones. El conversor traslada lo que puede serializar y marca lo demás.
- Más de tres líneas. El panel de Gráfico dibuja solo las primeras tres
plotdel script. Distribuye filas adicionales en scripts separados. - Trading real. La declaración
strategy(…)se traslada, pero una estrategia en LootScript solo opera en el Probador de estrategias — en cuenta simulada.
Siguientes pasos
https://docs.lootx.trade/es/loot/pine-import