NECESITO AYUDA CON ESTE SCRIPT PERSONALIZADO
-
- Mensajes: 5
- Registrado: 08 Nov 2024 22:50
NECESITO AYUDA CON ESTE SCRIPT PERSONALIZADO
Buenas tardes gente, estoy diseñando un script que combina dos indicadores ya existentes en Tradingwiev y la ejecución de las condiciones que les asigno de acuerdo a mi estrategia personal. Les comparto el código y les pido que me ayuden a detectar errores y resolverlos, ya que no soy muy avanzado en el tema y no puedo corregir los errores que me informa el Pine.V5
Este es el código que aún no se puede vincular al gráfico:
//@version=5
indicator("Estrategia Personalizada Opciones Binarias", overlay=true)
rsiLength = input.int(14, title="Longitud RSI")
botLength = input.int(4, title="Longitud BOT")
upperBand = input.float(70, title="Banda superior RSI")
lowerBand = input.float(30, title="Banda inferior RSI")
exp1 = input.int(180, title="Expiración Colocación 1")
exp2 = input.int(300, title="Expiración Colocación 2")
fondoInicial = input.float(100, title="Fondo Inicial")
gananciaDiaria = input.float(3.68, title="Ganancia Diaria")
perdidaDiaria = input.float(10, title="Pérdida Diaria")
rsi = ta.rsi(close, rsiLength)
ma = ta.sma(close, botLength)
cci = ta.cci(close, botLength)
ema = ta.ema(cci, botLength/2)
th = 33.33*(botLength/2)
condicionCompra1 = rsi <= lowerBand and ta.crossover(cci, -th) and ta.crossover(cci, ema)
condicionCompra2 = condicionCompra1[1] and ta.crossover(cci, -th) and ta.crossover(cci, ema)
valorColocacion(fondo) => fondo < 100 ? 1.0 : fondo * 0.01
var float posicionActual = na
var float gananciaDia = 0.0
var float perdidaDia = 0.0
if condicionCompra1
posicionActual := 1
alert("Colocación 1 iniciada")
if posicionActual == 1
if close > close[exp1]
posicionActual := 2
gananciaDia := gananciaDia + valorColocacion(fondoInicial)
alert("Colocación 1 ganada")
else if close[exp1] < close
posicionActual := 2
perdidaDia := perdidaDia + valorColocacion(fondoInicial)
alert("Colocación 1 perdida")
if condicionCompra2 and posicionActual == 2
posicionActual := 3
alert("Colocación 2 iniciada")
if posicionActual == 3
if close > close[exp2]
posicionActual := 0
gananciaDia := gananciaDia + valorColocacion(fondoInicial) * 2
alert("Colocación 2 ganada")
else if close[exp2] < close
posicionActual := 0
perdidaDia := perdidaDia + valorColocacion(fondoInicial) * 2
alert("Colocación 2 perdida")
if gananciaDia >= (fondoInicial * 0.0368) or perdidaDia <= -(fondoInicial * 0.1)
alert("Finalizar día")
posicionActual := 0
Y ESTAS SON LOS PARÁMETROS Y CONFIGURACIONES DE LOS DOS INDICADORES COMO DESEO QUE TRABAJEN JUNTO A MI ESTRATEGIA Y LAS CONDICIONES QUE COMPARTO LUEGO:
LOS PARÁMETROS DE CADA INDICADOR:
RELATIVE STRENGTH INDEX:
RSI SETTINGS
RSI Length: 14
Source: Close
¿Calculate Divergence?: Yes
MOVING AVERAGE
Type: SMA
Length: 14
BBStdDev: 2
CALCULATION
Timeframe: Chart
¿Wait for timeframe closes?: Yes
BINARY OPTIONS TREND:
Length: 4
Source: Close
LeftBars: 4
RightBars: 2
3) LAS CONDICIONES PARA LAS SEÑALES DE COMPRA
COLOCACIÓN N°1:
- Relative Strength Index: Igual o menor al nivel 30
- Ocurrencia de la segunda señal de compra consecutiva del Binary Options Trend desde que el Relative Strength Index tocó el nivel 30
-Colocar instantáneamente cuando se produzca la segunda señal de compra del Binary Options Trend
- Expiración: 180 segundos
- Valor de la colocación: 1,00 dólares para fondo inferior a 100,00 dólares
- Valor de la colocación: 1,00% del fondo para fondo igual o superior a 100,00 dólares
- Condiciones después del cierre de la colocación N°1:
Si resulta perdida continuar cuando se cumplan las condiciones de la colocación N°2
Si resulta ganada continuar cuando se vuelvan a cumplir las condiciones para la Colocación N°1
COLOCACIÓN N°2:
- Si la colocación N°1 cierra en pérdida
- Expiración: 300 segundos
- Valor de la colocación: 2,00 dólares para fondo inferior a 100,00 dólares
Valor de la colocación: 2,00% del fondo para fondo igual o superior a 100,00 dólares
- Condiciones después del cierre de la colocación N°2:
Si resulta perdida continuar cuando se vuelvan a cumplir las condiciones de la colocación N°1
Si resulta ganada continuar cuando se vuelvan a cumplir las condiciones para la Colocación N°1
- Condiciones para suspender todas las operaciones y finalizar el día:
Si las ganancias del día alcanzan los 3,68 dólares para un fondo inicial del día inferior a 100,00 dólares
Si las ganancias del día alcanzan el 3,68% del fondo para un fondo inicial del día igual o superior a 100,00 dólares
Si las pérdidas del día alcanzan los -10,00 dólares para un fondo inicial del día igual o inferior a 100,00 dólares
Si las pérdidas del día alcanzan el -10,00% del fondo para un fondo inicial del día igual o superior a 100,00 dólares
LA OTRA ALTERNATIVA QUE PODRÍA SER, ES SI ALGUNO DE USTEDES VISUALIZA UNA MEJOR MANERA DE EXPREZAR TODO EL PROYECTO EN UN NUEVO CÓDIGO.
Desde ya muchas gracias y saludos para todos.
Este es el código que aún no se puede vincular al gráfico:
//@version=5
indicator("Estrategia Personalizada Opciones Binarias", overlay=true)
rsiLength = input.int(14, title="Longitud RSI")
botLength = input.int(4, title="Longitud BOT")
upperBand = input.float(70, title="Banda superior RSI")
lowerBand = input.float(30, title="Banda inferior RSI")
exp1 = input.int(180, title="Expiración Colocación 1")
exp2 = input.int(300, title="Expiración Colocación 2")
fondoInicial = input.float(100, title="Fondo Inicial")
gananciaDiaria = input.float(3.68, title="Ganancia Diaria")
perdidaDiaria = input.float(10, title="Pérdida Diaria")
rsi = ta.rsi(close, rsiLength)
ma = ta.sma(close, botLength)
cci = ta.cci(close, botLength)
ema = ta.ema(cci, botLength/2)
th = 33.33*(botLength/2)
condicionCompra1 = rsi <= lowerBand and ta.crossover(cci, -th) and ta.crossover(cci, ema)
condicionCompra2 = condicionCompra1[1] and ta.crossover(cci, -th) and ta.crossover(cci, ema)
valorColocacion(fondo) => fondo < 100 ? 1.0 : fondo * 0.01
var float posicionActual = na
var float gananciaDia = 0.0
var float perdidaDia = 0.0
if condicionCompra1
posicionActual := 1
alert("Colocación 1 iniciada")
if posicionActual == 1
if close > close[exp1]
posicionActual := 2
gananciaDia := gananciaDia + valorColocacion(fondoInicial)
alert("Colocación 1 ganada")
else if close[exp1] < close
posicionActual := 2
perdidaDia := perdidaDia + valorColocacion(fondoInicial)
alert("Colocación 1 perdida")
if condicionCompra2 and posicionActual == 2
posicionActual := 3
alert("Colocación 2 iniciada")
if posicionActual == 3
if close > close[exp2]
posicionActual := 0
gananciaDia := gananciaDia + valorColocacion(fondoInicial) * 2
alert("Colocación 2 ganada")
else if close[exp2] < close
posicionActual := 0
perdidaDia := perdidaDia + valorColocacion(fondoInicial) * 2
alert("Colocación 2 perdida")
if gananciaDia >= (fondoInicial * 0.0368) or perdidaDia <= -(fondoInicial * 0.1)
alert("Finalizar día")
posicionActual := 0
Y ESTAS SON LOS PARÁMETROS Y CONFIGURACIONES DE LOS DOS INDICADORES COMO DESEO QUE TRABAJEN JUNTO A MI ESTRATEGIA Y LAS CONDICIONES QUE COMPARTO LUEGO:
LOS PARÁMETROS DE CADA INDICADOR:
RELATIVE STRENGTH INDEX:
RSI SETTINGS
RSI Length: 14
Source: Close
¿Calculate Divergence?: Yes
MOVING AVERAGE
Type: SMA
Length: 14
BBStdDev: 2
CALCULATION
Timeframe: Chart
¿Wait for timeframe closes?: Yes
BINARY OPTIONS TREND:
Length: 4
Source: Close
LeftBars: 4
RightBars: 2
3) LAS CONDICIONES PARA LAS SEÑALES DE COMPRA
COLOCACIÓN N°1:
- Relative Strength Index: Igual o menor al nivel 30
- Ocurrencia de la segunda señal de compra consecutiva del Binary Options Trend desde que el Relative Strength Index tocó el nivel 30
-Colocar instantáneamente cuando se produzca la segunda señal de compra del Binary Options Trend
- Expiración: 180 segundos
- Valor de la colocación: 1,00 dólares para fondo inferior a 100,00 dólares
- Valor de la colocación: 1,00% del fondo para fondo igual o superior a 100,00 dólares
- Condiciones después del cierre de la colocación N°1:
Si resulta perdida continuar cuando se cumplan las condiciones de la colocación N°2
Si resulta ganada continuar cuando se vuelvan a cumplir las condiciones para la Colocación N°1
COLOCACIÓN N°2:
- Si la colocación N°1 cierra en pérdida
- Expiración: 300 segundos
- Valor de la colocación: 2,00 dólares para fondo inferior a 100,00 dólares
Valor de la colocación: 2,00% del fondo para fondo igual o superior a 100,00 dólares
- Condiciones después del cierre de la colocación N°2:
Si resulta perdida continuar cuando se vuelvan a cumplir las condiciones de la colocación N°1
Si resulta ganada continuar cuando se vuelvan a cumplir las condiciones para la Colocación N°1
- Condiciones para suspender todas las operaciones y finalizar el día:
Si las ganancias del día alcanzan los 3,68 dólares para un fondo inicial del día inferior a 100,00 dólares
Si las ganancias del día alcanzan el 3,68% del fondo para un fondo inicial del día igual o superior a 100,00 dólares
Si las pérdidas del día alcanzan los -10,00 dólares para un fondo inicial del día igual o inferior a 100,00 dólares
Si las pérdidas del día alcanzan el -10,00% del fondo para un fondo inicial del día igual o superior a 100,00 dólares
LA OTRA ALTERNATIVA QUE PODRÍA SER, ES SI ALGUNO DE USTEDES VISUALIZA UNA MEJOR MANERA DE EXPREZAR TODO EL PROYECTO EN UN NUEVO CÓDIGO.
Desde ya muchas gracias y saludos para todos.
Re: NECESITO AYUDA CON ESTE SCRIPT PERSONALIZADO
Hola
Tu codigo no compila
Tiene errores de indexado, porque está mal posteado
Por favor, edita el post
Tu codigo no compila
Tiene errores de indexado, porque está mal posteado
Por favor, edita el post
Re: NECESITO AYUDA CON ESTE SCRIPT PERSONALIZADO
No veo ningun plot o plotshape
Trabajas solo con las alertas? A ciegas?
Trabajas solo con las alertas? A ciegas?
-
- Mensajes: 5
- Registrado: 08 Nov 2024 22:50
Re: NECESITO AYUDA CON ESTE SCRIPT PERSONALIZADO
Hola gu5tavo71, ¿En que parte del código está mal posteado?. Con el tema de los Plots o Plotshape se me pasó de integrarlos, los integro al código y lo vuelvo a postear cuando me corrijas en que parte está mal posteado. Muchas gracias y buen fin de semana.gu5tavo71 escribió: 10 Nov 2024 01:39 Hola
Tu codigo no compila
Tiene errores de indexado, porque está mal posteado
Por favor, edita el post
-
- Mensajes: 5
- Registrado: 08 Nov 2024 22:50
Re: NECESITO AYUDA CON ESTE SCRIPT PERSONALIZADO
Código: Seleccionar todo
//@version=5
indicator("Estrategia Personalizada Opciones Binarias", overlay=true)
rsiLength = input.int(14, title="Longitud RSI")
botLength = input.int(4, title="Longitud BOT")
upperBand = input.float(70, title="Banda superior RSI")
lowerBand = input.float(30, title="Banda inferior RSI")
exp1 = input.int(180, title="Expiración Colocación 1")
exp2 = input.int(300, title="Expiración Colocación 2")
fondoInicial = input.float(100, title="Fondo Inicial")
gananciaDiaria = input.float(3.68, title="Ganancia Diaria")
perdidaDiaria = input.float(10, title="Pérdida Diaria")
rsi = ta.rsi(close, rsiLength)
ma = ta.sma(close, botLength)
cci = ta.cci(close, botLength)
ema = ta.ema(cci, botLength/2)
th = 33.33*(botLength/2)
condicionCompra1 = rsi <= lowerBand and ta.crossover(cci, -th) and ta.crossover(cci, ema)
condicionCompra2 = condicionCompra1[1] and ta.crossover(cci, -th) and ta.crossover(cci, ema)
valorColocacion(fondo) => fondo < 100 ? 1.0 : fondo * 0.01
var float posicionActual = na
var float gananciaDia = 0.0
var float perdidaDia = 0.0
if condicionCompra1
posicionActual := 1
alert("Colocación 1 iniciada")
if posicionActual == 1
if close > close[exp1]
posicionActual := 2
gananciaDia := gananciaDia + valorColocacion(fondoInicial)
alert("Colocación 1 ganada")
else if close[exp1] < close
posicionActual := 2
perdidaDia := perdidaDia + valorColocacion(fondoInicial)
alert("Colocación 1 perdida")
if condicionCompra2 and posicionActual == 2
posicionActual := 3
alert("Colocación 2 iniciada")
if posicionActual == 3
if close > close[exp2]
posicionActual := 0
gananciaDia := gananciaDia + valorColocacion(fondoInicial) * 2
alert("Colocación 2 ganada")
else if close[exp2] < close
posicionActual := 0
perdidaDia := perdidaDia + valorColocacion(fondoInicial) * 2
alert("Colocación 2 perdida")
if gananciaDia >= (fondoInicial * 0.0368) or perdidaDia <= -(fondoInicial * 0.1)
alert("Finalizar día")
posicionActual := 0
plotshape(condicionCompra1, location=location.belowbar, color=color.green, style=shape.labelup, text="Compra 1")
plotshape(condicionCompra2, location=location.belowbar, color=color.green, style=shape.labelup, text="Compra 2")
plotshape(posicionActual == 1 and close > close[exp1], location=location.abovebar, color=color.green, style=shape.labeldown, text="Ganada 1")
plotshape(posicionActual == 1 and close[exp1] < close, location=location.belowbar, color=color.red, style=shape.labelup, text="Perdida 1")
plotshape(posicionActual == 3 and close > close[exp2], location=location.abovebar, color=color.green, style=shape.labeldown, text="Ganada 2")
plotshape(posicionActual == 3 and close[exp2] < close, location=location.belowbar, color=color.red, style=shape.labelup, text="Perdida 2")
plotshape(gananciaDia >= (fondoInicial * 0.0368) or perdidaDia <= -(fondoInicial * 0.1), location=location.belowbar, color=color.yellow, style=shape.labelup, text="Finalizar día")
```
-
- Mensajes: 5
- Registrado: 08 Nov 2024 22:50
Re: NECESITO AYUDA CON ESTE SCRIPT PERSONALIZADO
Listo, ahí volví a postear el código correctamente y le agregué los plotshape que me había olvidado. Saludos y gracias.gu5tavo71 escribió: 10 Nov 2024 01:41 No veo ningun plot o plotshape
Trabajas solo con las alertas? A ciegas?
Re: NECESITO AYUDA CON ESTE SCRIPT PERSONALIZADO
Gu5tavo71 se refiere a que el código que has subido no está correctamente indentando (ie, al pegarlo le has quitado las tabulaciones de precedencia), pero nada como pasarlo por una IA para que quede todo colocadito
Saludos,
X-Trader
Código: Seleccionar todo
//@version=5
indicator("Estrategia Personalizada Opciones Binarias", overlay=true)
// Inputs
rsiLength = input.int(14, title="Longitud RSI")
botLength = input.int(4, title="Longitud BOT")
upperBand = input.float(70, title="Banda superior RSI")
lowerBand = input.float(30, title="Banda inferior RSI")
exp1 = input.int(180, title="Expiración Colocación 1")
exp2 = input.int(300, title="Expiración Colocación 2")
fondoInicial = input.float(100, title="Fondo Inicial")
gananciaDiaria = input.float(3.68, title="Ganancia Diaria")
perdidaDiaria = input.float(10, title="Pérdida Diaria")
// Indicadores técnicos
rsi = ta.rsi(close, rsiLength)
ma = ta.sma(close, botLength)
cci = ta.cci(close, botLength)
ema = ta.ema(cci, botLength/2)
th = 33.33*(botLength/2)
// Condiciones de compra
condicionCompra1 = rsi <= lowerBand and ta.crossover(cci, -th) and ta.crossover(cci, ema)
condicionCompra2 = condicionCompra1[1] and ta.crossover(cci, -th) and ta.crossover(cci, ema)
// Función para calcular valor de colocación
valorColocacion(fondo) =>
fondo < 100 ? 1.0 : fondo * 0.01
// Variables de seguimiento
var float posicionActual = na
var float gananciaDia = 0.0
var float perdidaDia = 0.0
// Lógica de trading
if condicionCompra1
posicionActual := 1
alert("Colocación 1 iniciada")
if posicionActual == 1
if close > close[exp1]
posicionActual := 2
gananciaDia := gananciaDia + valorColocacion(fondoInicial)
alert("Colocación 1 ganada")
else if close[exp1] < close
posicionActual := 2
perdidaDia := perdidaDia + valorColocacion(fondoInicial)
alert("Colocación 1 perdida")
if condicionCompra2 and posicionActual == 2
posicionActual := 3
alert("Colocación 2 iniciada")
if posicionActual == 3
if close > close[exp2]
posicionActual := 0
gananciaDia := gananciaDia + valorColocacion(fondoInicial) * 2
alert("Colocación 2 ganada")
else if close[exp2] < close
posicionActual := 0
perdidaDia := perdidaDia + valorColocacion(fondoInicial) * 2
alert("Colocación 2 perdida")
// Verificación de límites diarios
if gananciaDia >= (fondoInicial * 0.0368) or perdidaDia <= -(fondoInicial * 0.1)
alert("Finalizar día")
posicionActual := 0
// Visualizaciones
plotshape(condicionCompra1,
location=location.belowbar,
color=color.green,
style=shape.labelup,
text="Compra 1")
plotshape(condicionCompra2,
location=location.belowbar,
color=color.green,
style=shape.labelup,
text="Compra 2")
plotshape(posicionActual == 1 and close > close[exp1],
location=location.abovebar,
color=color.green,
style=shape.labeldown,
text="Ganada 1")
plotshape(posicionActual == 1 and close[exp1] < close,
location=location.belowbar,
color=color.red,
style=shape.labelup,
text="Perdida 1")
plotshape(posicionActual == 3 and close > close[exp2],
location=location.abovebar,
color=color.green,
style=shape.labeldown,
text="Ganada 2")
plotshape(posicionActual == 3 and close[exp2] < close,
location=location.belowbar,
color=color.red,
style=shape.labelup,
text="Perdida 2")
plotshape(gananciaDia >= (fondoInicial * 0.0368) or perdidaDia <= -(fondoInicial * 0.1),
location=location.belowbar,
color=color.yellow,
style=shape.labelup,
text="Finalizar día")
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
-
- Mensajes: 5
- Registrado: 08 Nov 2024 22:50
Re: NECESITO AYUDA CON ESTE SCRIPT PERSONALIZADO
Hola X-Trader, jaja que novato que soy aún!! Dale seguiré tu consejo de ayudarme con la IA, aunque la IA tiene sus chiripiolcas de vez en cuando ajaj. Saludos y buen finde! Gracias!X-Trader escribió: 10 Nov 2024 17:24 Gu5tavo71 se refiere a que el código que has subido no está correctamente indentando (ie, al pegarlo le has quitado las tabulaciones de precedencia), pero nada como pasarlo por una IA para que quede todo colocadito
Saludos,Código: Seleccionar todo
//@version=5 indicator("Estrategia Personalizada Opciones Binarias", overlay=true) // Inputs rsiLength = input.int(14, title="Longitud RSI") botLength = input.int(4, title="Longitud BOT") upperBand = input.float(70, title="Banda superior RSI") lowerBand = input.float(30, title="Banda inferior RSI") exp1 = input.int(180, title="Expiración Colocación 1") exp2 = input.int(300, title="Expiración Colocación 2") fondoInicial = input.float(100, title="Fondo Inicial") gananciaDiaria = input.float(3.68, title="Ganancia Diaria") perdidaDiaria = input.float(10, title="Pérdida Diaria") // Indicadores técnicos rsi = ta.rsi(close, rsiLength) ma = ta.sma(close, botLength) cci = ta.cci(close, botLength) ema = ta.ema(cci, botLength/2) th = 33.33*(botLength/2) // Condiciones de compra condicionCompra1 = rsi <= lowerBand and ta.crossover(cci, -th) and ta.crossover(cci, ema) condicionCompra2 = condicionCompra1[1] and ta.crossover(cci, -th) and ta.crossover(cci, ema) // Función para calcular valor de colocación valorColocacion(fondo) => fondo < 100 ? 1.0 : fondo * 0.01 // Variables de seguimiento var float posicionActual = na var float gananciaDia = 0.0 var float perdidaDia = 0.0 // Lógica de trading if condicionCompra1 posicionActual := 1 alert("Colocación 1 iniciada") if posicionActual == 1 if close > close[exp1] posicionActual := 2 gananciaDia := gananciaDia + valorColocacion(fondoInicial) alert("Colocación 1 ganada") else if close[exp1] < close posicionActual := 2 perdidaDia := perdidaDia + valorColocacion(fondoInicial) alert("Colocación 1 perdida") if condicionCompra2 and posicionActual == 2 posicionActual := 3 alert("Colocación 2 iniciada") if posicionActual == 3 if close > close[exp2] posicionActual := 0 gananciaDia := gananciaDia + valorColocacion(fondoInicial) * 2 alert("Colocación 2 ganada") else if close[exp2] < close posicionActual := 0 perdidaDia := perdidaDia + valorColocacion(fondoInicial) * 2 alert("Colocación 2 perdida") // Verificación de límites diarios if gananciaDia >= (fondoInicial * 0.0368) or perdidaDia <= -(fondoInicial * 0.1) alert("Finalizar día") posicionActual := 0 // Visualizaciones plotshape(condicionCompra1, location=location.belowbar, color=color.green, style=shape.labelup, text="Compra 1") plotshape(condicionCompra2, location=location.belowbar, color=color.green, style=shape.labelup, text="Compra 2") plotshape(posicionActual == 1 and close > close[exp1], location=location.abovebar, color=color.green, style=shape.labeldown, text="Ganada 1") plotshape(posicionActual == 1 and close[exp1] < close, location=location.belowbar, color=color.red, style=shape.labelup, text="Perdida 1") plotshape(posicionActual == 3 and close > close[exp2], location=location.abovebar, color=color.green, style=shape.labeldown, text="Ganada 2") plotshape(posicionActual == 3 and close[exp2] < close, location=location.belowbar, color=color.red, style=shape.labelup, text="Perdida 2") plotshape(gananciaDia >= (fondoInicial * 0.0368) or perdidaDia <= -(fondoInicial * 0.1), location=location.belowbar, color=color.yellow, style=shape.labelup, text="Finalizar día")
X-Trader
Última edición por BIT.PROx14 el 10 Nov 2024 19:20, editado 1 vez en total.
Re: NECESITO AYUDA CON ESTE SCRIPT PERSONALIZADO
Como dije en otro post (y en otras comunidades)
El código generado por IA es inconsistente, tiene errores y no es confiable. La inteligencia artificial es muy útil en muchos aspectos, pero codifica Pinescript de manera muy deficiente (por ahora...)
Un ejemplo es que el nuevo codigo que subieron, indexado por la IA, sigue sin compilar.
Ese no es el problema (el posteo ahora se soluciona facil)
Tu codigo tiene "alucinaciones", y habría que hacer todo el script de nuevo. Desde cero.
El código generado por IA es inconsistente, tiene errores y no es confiable. La inteligencia artificial es muy útil en muchos aspectos, pero codifica Pinescript de manera muy deficiente (por ahora...)
Un ejemplo es que el nuevo codigo que subieron, indexado por la IA, sigue sin compilar.
Ese no es el problema (el posteo ahora se soluciona facil)
Tu codigo tiene "alucinaciones", y habría que hacer todo el script de nuevo. Desde cero.
Re: NECESITO AYUDA CON ESTE SCRIPT PERSONALIZADO
Hola chicos,
Lo he repasado y limpiado para que compile, pero como bien apunta gu5tavo71 no parece tener mucho sentido lo que hace. Os dejo por aquí el código arreglado:
Saludos,
X-Trader
Lo he repasado y limpiado para que compile, pero como bien apunta gu5tavo71 no parece tener mucho sentido lo que hace. Os dejo por aquí el código arreglado:
Código: Seleccionar todo
//@version=5
indicator("Estrategia Personalizada Opciones Binarias", overlay=true)
// Inputs
rsiLength = input.int(14, title="Longitud RSI")
botLength = input.int(4, title="Longitud BOT")
upperBand = input.float(70, title="Banda superior RSI")
lowerBand = input.float(30, title="Banda inferior RSI")
exp1 = input.int(180, title="Expiración Colocación 1")
exp2 = input.int(300, title="Expiración Colocación 2")
fondoInicial = input.float(100, title="Fondo Inicial")
gananciaDiaria = input.float(3.68, title="Ganancia Diaria")
perdidaDiaria = input.float(10, title="Pérdida Diaria")
// Indicadores técnicos
rsi = ta.rsi(close, rsiLength)
ma = ta.sma(close, botLength)
cci = ta.cci(close, botLength)
ema = ta.ema(cci, botLength/2)
th = 33.33*(botLength/2)
// Condiciones de compra
condicionCompra1 = rsi <= lowerBand and ta.crossover(cci, -th) and ta.crossover(cci, ema)
condicionCompra2 = condicionCompra1[1] and ta.crossover(cci, -th) and ta.crossover(cci, ema)
// Función para calcular valor de colocación
valorColocacion(fondo) =>
fondo < 100 ? 1.0 : fondo * 0.01
// Variables de seguimiento
var float posicionActual = na
var float gananciaDia = 0.0
var float perdidaDia = 0.0
// Lógica de trading
if condicionCompra1
posicionActual := 1
alert("Colocación 1 iniciada")
if posicionActual == 1
if close > close[exp1]
posicionActual := 2
gananciaDia := gananciaDia + valorColocacion(fondoInicial)
alert("Colocación 1 ganada")
else if close[exp1] < close
posicionActual := 2
perdidaDia := perdidaDia + valorColocacion(fondoInicial)
alert("Colocación 1 perdida")
if condicionCompra2 and posicionActual == 2
posicionActual := 3
alert("Colocación 2 iniciada")
if posicionActual == 3
if close > close[exp2]
posicionActual := 0
gananciaDia := gananciaDia + valorColocacion(fondoInicial) * 2
alert("Colocación 2 ganada")
else if close[exp2] < close
posicionActual := 0
perdidaDia := perdidaDia + valorColocacion(fondoInicial) * 2
alert("Colocación 2 perdida")
// Verificación de límites diarios
if gananciaDia >= (fondoInicial * 0.0368) or perdidaDia <= -(fondoInicial * 0.1)
alert("Finalizar día")
posicionActual := 0
// Visualizaciones
plotshape(condicionCompra1,location=location.belowbar,color=color.green,style=shape.labelup,text="Compra 1")
plotshape(condicionCompra2,location=location.belowbar,color=color.green,style=shape.labelup,text="Compra 2")
plotshape(posicionActual == 1 and close > close[exp1],location=location.abovebar,color=color.green,style=shape.labeldown,text="Ganada 1")
plotshape(posicionActual == 1 and close[exp1] < close,location=location.belowbar,color=color.red,style=shape.labelup,text="Perdida 1")
plotshape(posicionActual == 3 and close > close[exp2],location=location.abovebar,color=color.green,style=shape.labeldown,text="Ganada 2")
plotshape(posicionActual == 3 and close[exp2] < close,location=location.belowbar,color=color.red,style=shape.labelup,text="Perdida 2")
plotshape(gananciaDia >= (fondoInicial * 0.0368) or perdidaDia <= -(fondoInicial * 0.1), location=location.belowbar, color=color.yellow, style=shape.labelup, text="Finalizar día")
Saludos,
X-Trader
"Los sistemas de trading pueden funcionar en ciertas condiciones de mercado todo el tiempo, en todas las condiciones de mercado en algún momento del tiempo, pero nunca en todas las condiciones de mercado todo el tiempo."
-
- Mensajes: 5
- Registrado: 08 Nov 2024 22:50
Re: NECESITO AYUDA CON ESTE SCRIPT PERSONALIZADO
Muchas gracias a todos por los consejos! Los tendré en cuenta al momento de programar y tener cuidado con la IA. Saludos para todos y buena semana!
Si te ha gustado este hilo del Foro, ¡compártelo en redes!