El nombre de esta estrategia es
La lógica central de esta estrategia es calcular el precio actual y el precio del ciclo anterior. Cuando el precio actual es mayor que el precio anterior, se activa una señal corta. Cuando el precio actual es menor que el precio anterior, se activa una señal larga. El tamaño de la posición se calcula en función de los beneficios totales acumulados. Después de que finaliza cada operación, las ganancias se acumulan en los fondos para la siguiente operación, formando una reinversión.
Específicamente, la estrategia registra el precio actual y el precio de cierre del ciclo anterior a través de las variables current_price y previous_price. Luego se definen las condiciones de juicio de la condición_larga y de la condición_corta. Cuando el precio_currente es mayor que el precio_anterior, se activa la condición_larga. Cuando el precio_currente es menor que el precio_anterior, se activa la condición_corta. Cuando se activan las condiciones, se determina el tamaño de la posición position_size basado en la variable capital_real. Después de ejecutar una operación corta o larga, se registra la ganancia y pérdida de esta operación a través de la variable ganancias y se acumula en ganancias_acumuladas. Finalmente, se reinvierten las ganancias en el próximo capital comercial a través de: capital_actual=actual_actual + ganancias_acumuladas.
La mayor ventaja de esta estrategia es que utiliza la idea de operaciones inversas. Cuando hay un error sistémico en el mercado, su potencial de ganancia será muy grande. Además, su mecanismo de reinversión también amplificará las ganancias. Si obtienes operaciones rentables consecutivas a través de la suerte, los fondos pueden acumularse rápidamente a través de la reinversión.
En concreto, las principales ventajas son:
Las operaciones inversas utilizan errores sistémicos en el juicio del mercado para un enorme potencial de ganancias.
El mecanismo de reinversión de ganancias amplifica las ganancias, y los fondos crecen rápidamente cuando tienes suerte.
La lógica de la estrategia es simple, fácil de entender y rastrear.
Los parámetros se pueden ajustar para experimentar diferentes resultados comerciales.
El mayor riesgo de esta estrategia radica en sus características de operación inversa. Si insiste en juicios erróneos del mercado, se enfrentará a enormes pérdidas. Además, el efecto de apalancamiento también amplificará las pérdidas a través del mecanismo de reinversión.
Los puntos de riesgo específicos incluyen:
Si el juicio de la tendencia del mercado es erróneo, la pérdida por cierre de posiciones se amplificará.
El riesgo de negociación apalancada es demasiado alto y la pérdida de una sola operación puede exceder el capital.
La psicología de perseguir subidas y matar caídas funciona, y el comercio excesivo aumenta las pérdidas.
La configuración incorrecta de los parámetros también puede dar lugar a pérdidas inesperadamente grandes.
Las soluciones correspondientes incluyen:
Hacer gestión de riesgos, salida de pérdidas, posiciones abiertas en lotes.
Utilice el apalancamiento con precaución y controle las pérdidas de una sola transacción.
Fortalecer la regulación psicológica para evitar el comercio excesivo.
Parámetros de ensayo antes de su ejecución.
El espacio de optimización de esta estrategia se concentra principalmente en el mecanismo de reinversión de beneficios y el ajuste de parámetros.
El mecanismo de reinversión de ganancias puede fijar la proporción de reinversión en lugar de la reinversión completa para controlar el impacto de una sola pérdida.
El ajuste de parámetros puede probar diferentes longitudes de ciclo y tamaños de turno para encontrar la combinación óptima de parámetros.
Además, se recomienda incorporar un mecanismo de stop loss para controlar las pérdidas.
Establecer el índice de reinversión para evitar pérdidas excesivas.
Probar diferentes parámetros del ciclo para encontrar los parámetros óptimos.
Añadir la lógica de stop loss. Inicialmente se puede establecer un stop loss fijo, y más tarde se puede añadir stop loss dinámico basado en ATR.
Considerar la posibilidad de añadir condiciones de apertura y cierre basadas en el tiempo o en indicadores técnicos para controlar la frecuencia de negociación.
El nombre de esta estrategia es
/*backtest start: 2023-11-16 00:00:00 end: 2023-11-23 00:00:00 period: 4h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Estrategia Las Vegas Long/Short Invertida con Reinversión de Ganancias", shorttitle="Las Vegas LS-Invertida-Reinversion", overlay=true) // Parámetros length = input(14, title="Longitud de comparación") offset = input(1, title="Desplazamiento") // Capital inicial capital_inicial = input(100, title="Capital Inicial") // Variables para el seguimiento de las ganancias var float capital_actual = capital_inicial var float ganancias_acumuladas = 0.0 // Calcular el precio actual y el precio anterior current_price = close previous_price = security(syminfo.tickerid, "D", close[1]) // Lógica de la estrategia invertida long_condition = current_price > previous_price short_condition = current_price < previous_price // Calcular el tamaño de la posición en función de las ganancias acumuladas y reinvertir if (long_condition or short_condition) position_size = capital_actual / current_price ganancias = position_size * (previous_price - current_price) // Invertir la dirección capital_actual := capital_actual + ganancias ganancias_acumuladas := ganancias_acumuladas + ganancias // Reinvertir las ganancias en la próxima orden position_size_reinvested = capital_actual / current_price // Sumar las ganancias de los trades al monto de operación if (long_condition or short_condition) capital_actual := capital_actual + ganancias_acumuladas // Colocar una orden SHORT (venta) cuando se cumpla la condición Long invertida strategy.entry("Short", strategy.short, when=long_condition) // Colocar una orden LONG (compra) cuando se cumpla la condición Short invertida strategy.entry("Long", strategy.long, when=short_condition) // Etiquetas para mostrar las condiciones en el gráfico plotshape(series=long_condition, title="Condición LONG", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(series=short_condition, title="Condición SHORT", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small) // Mostrar el capital actual y las ganancias acumuladas en el gráfico plot(capital_actual, title="Capital Actual", color=color.blue, linewidth=2) plot(ganancias_acumuladas, title="Ganancias Acumuladas", color=color.green, linewidth=2)