
Descripción general
La idea principal de esta estrategia es realizar operaciones de compra mediante la monitorización de la caída de los precios. Cuando los precios caen más del 5% con respecto al ciclo anterior, se activa una señal de compra para comprar una cierta cantidad de posiciones a los precios de cierre actuales.
Principio de estrategia
- Calcula el porcentaje de caída del precio de cierre actual respecto al precio de cierre del período anterior.
- Si la caída es superior al 5%, se activa una señal de compra para comprar una cantidad de posiciones al precio de cierre actual. La cantidad comprada se calcula en función del saldo de la cuenta actual y el precio de compra.
- Registre el precio y la cantidad de compras.
- Cuando el precio actual es más alto que el precio de compra, la posición de liquidación se cierra con una ganancia.
- Calcular ganancias y pérdidas y actualizar el saldo de la cuenta.
- La línea K en el gráfico, marcada en amarillo, en el momento en que ocurre la señal de compra.
Análisis de las ventajas
- Sencillo y fácil de entender: La lógica de la estrategia es clara, fácil de entender y de implementar.
- Captura de tendencias: se puede capturar una tendencia de rebote a corto plazo de los precios comprando variedades con mayor caída.
- Control de riesgos: el número de compras se calcula en función del saldo de la cuenta y el precio actual, controlando el margen de riesgo de cada transacción.
- La conclusión oportuna: cuando el precio es más alto que el precio de compra, se resuelve el equilibrio, no se pelea, se controla el riesgo.
- Interacción visual: las señales de compra se marcan en un gráfico con colores especiales para facilitar su observación y análisis.
Análisis de riesgos
- Negociación frecuente: la estrategia tiene como objetivo principal las fluctuaciones a corto plazo, la frecuencia de las operaciones puede ser alta y se debe tener en cuenta el impacto de los costos de las comisiones en los ingresos.
- Profundidad del retiro: Si el precio baja aún más después de la compra, es posible que exista un cierto riesgo de retiro.
- La volatilidad de los precios: la estrategia depende principalmente de la volatilidad de los precios, y en un entorno de mercado con baja volatilidad, la eficacia de la estrategia puede ser reducida.
- Equilibrio de pérdidas y ganancias: la estrategia no tiene requisitos y controles claros sobre las ganancias y pérdidas. En la operación real, se debe prestar atención a la capacidad de equilibrio de pérdidas y ganancias de la estrategia en general.
Dirección de optimización
- Optimización de stop loss: la estrategia actual no establece condiciones de stop loss después de la compra, se puede considerar agregar algunas lógicas de stop loss, como stop loss porcentual fijo o stop loss ATR, para controlar aún más la pérdida máxima de una sola operación.
- Filtración de señales: después de generar una señal de compra, se pueden agregar algunas condiciones adicionales para filtrar la calidad de la señal, como la combinación de indicadores como el sistema de línea media, el RSI, o considerar los puntos de inflexión de precios, la forma de la línea de la barra, etc., para mejorar la ganancia y la fiabilidad de la señal.
- Gestión de posiciones: la estrategia actual utiliza un porcentaje de capital fijo para determinar la cantidad de compras. Se puede considerar optimizar el modelo de gestión de posiciones para que sea más dinámico, por ejemplo, para ajustar la cantidad de compras por compra en función de factores como la volatilidad de los precios y la curva de valor neto de la cuenta.
- Sinergia entre variedades: La idea de esta estrategia puede aplicarse a varias variedades, y puede tener un mejor efecto a través del análisis de la correlación entre las variedades y la gestión de la asignación de fondos.
Resumir
La estrategia utiliza la caída de los precios a corto plazo por encima de una amplitud específica como una señal de compra, para aprovechar las oportunidades de rebote de los precios para obtener ganancias. La lógica es simple y fácil de entender. La ventaja de la estrategia reside en la captura de la tendencia y el control del riesgo, pero también se debe tener en cuenta los riesgos de comercio frecuente, retroceso profundo y fluctuación de precios.
Código Fuente de la Estrategia
/*backtest
start: 2023-06-01 00:00:00
end: 2024-06-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Thgoodtrader
//@version=5
strategy("TGT Falling Buy", overlay=true, margin_long=100, margin_short=100)
var float buy_price = na
var float open_price = na
var float open_weekend = na
var float close_weekend = na
var bool trade=false
var float balance = 1000
// Definir el precio de compra inicial y la cantidad inicial
var float qty = na
// Verificar si el día de la semana es sábado (6) o domingo (0)
es_sabado = dayofweek == 1
es_domingo = dayofweek == 7
es_viernes = dayofweek == 6
// Calcular el valor del saldo inicial
balance_initial = balance
change_percent = ((close - close[1]) / close[1]) * 100
is_last_candle_negative = close < open
is_change_above_threshold = change_percent < -5
// Cambiar el color de la última vela si cumple las condiciones
barcolor(is_last_candle_negative and is_change_above_threshold ? color.yellow : na)
bgcolor(is_last_candle_negative and is_change_above_threshold ? color.yellow : na, transp=80)
// Guardar el precio de compra cuando se cumpla la condición del 5%
if is_change_above_threshold
// Calcular la cantidad basada en el precio de compra y el saldo
qty := balance / close
// Guardar el precio de compra
buy_price := close
open_price := open
strategy.entry("Buy Trading",strategy.long,qty)
alert("Comprar BTC", alert.freq_once_per_bar_close)
trade :=true
//if (((close - strategy.position_avg_price) / strategy.position_avg_price) * 100 ) > 2
if close > strategy.position_avg_price
// Calcular el valor de ganancia o pérdida
pnl = (close - strategy.position_avg_price) * qty
// Actualizar el saldo
balance := balance_initial + pnl
strategy.close("Buy Trading")
alertcondition(is_change_above_threshold, title = "Buy 5% Discount", message = "Buy Position")
alertcondition(close > strategy.position_avg_price, title = "Close Trade", message = "Close Buy Position")