El objetivo de esta estrategia es identificar el punto final de la tendencia bajista a corto plazo de un activo y fijar una cantidad de dinero en ese punto para comprar el activo. De esta manera, se puede fijar la inversión a un precio de costo más bajo después de que comience la reversión del activo.
La estrategia se basa en el funcionamiento del marco de tiempo mensual. Hay 240 líneas K de 1 hora por mes para determinar el momento en que la tendencia se invierte.
En concreto, la estrategia calcula el diferencial entre la línea rápida y la línea lenta de la EMA_CD y EMA_La línea de señal del CD, al atravesar la línea de señal en la línea rápida, determina el final de la tendencia bajista a corto plazo y emite una señal de compra.
Después de emitir la señal de compra, la estrategia se liquida al final del mes. Luego, se repite el proceso en el segundo mes, comprando y manteniendo regularmente durante un mes.
Esto nos permite bajar la respiración al final de la caída a corto plazo y fijar la apuesta.
La mayor ventaja de esta estrategia es que se puede filtrar la volatilidad y comprar solo en el punto de reversión de la tendencia, para fijar la inversión a un precio favorable.
Además, el uso de EMA para determinar el punto de reversión de la tendencia puede ser más estable y preciso que el simple cambio de la línea K. El EMA puede neutralizar el impacto del ruido del mercado a corto plazo en el tiempo de compra.
Por último, el límite de pérdidas fijado al final del mes puede bloquear el rendimiento de la inversión de cada mes y limitar la pérdida máxima de un mes.
El mayor riesgo de esta estrategia es que los precios continúen bajando después de la compra, lo que lleva a pérdidas de cierre al final de la semana. Esta situación es generalmente causada por errores de reversión de juicio.
Se puede optimizar el juicio ajustando los parámetros del ciclo EMA, o en combinación con otros indicadores como el RSI para confirmar la señal de inversión.
Otro riesgo es la configuración de los puntos de parada. Si los puntos de parada son demasiado pequeños, pueden ser bloqueados por fluctuaciones a corto plazo, y si son demasiado grandes, no pueden limitar las pérdidas. Se necesita probar diferentes puntos de parada para encontrar el parámetro óptimo.
La estrategia puede ser optimizada en los siguientes aspectos:
Optimización de los parámetros del ciclo EMA para encontrar la combinación óptima de parámetros para determinar la reversión de la tendencia
Añadir filtros para otros indicadores, como el RSI, para confirmar la señal de reversión
Probar diferentes puntos de parada para encontrar la mejor posición de parada para limitar las pérdidas y no ser arbitraje
Se puede considerar la adición de un stop móvil basado en el stop, ajustando la posición del stop en tiempo real en función del precio
Se pueden probar diferentes períodos de tiempo, como la línea de sol, la operación de la circunferencia, para ver qué período funciona mejor
La idea general de esta estrategia es clara y simple, y puede filtrar eficazmente los mercados convulsionados para invertir a precios más bajos. La estrategia de optimización del espacio se basa principalmente en la optimización de los parámetros y el ajuste de la estrategia de parada de pérdidas. En general, la estrategia es una excelente idea estratégica para la configuración de activos fijos, que vale la pena probar y optimizar aún más.
/*backtest
start: 2023-09-07 00:00:00
end: 2023-10-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © BHD_Trade_Bot
// @version=5
// strategy(
// shorttitle = 'DCA After Downtrend',
// title = 'DCA After Downtrend (by BHD_Trade_Bot)',
// overlay = true,
// calc_on_every_tick = true,
// calc_on_order_fills = true,
// use_bar_magnifier = true,
// pyramiding = 100,
// initial_capital = 0,
// default_qty_type = strategy.cash,
// default_qty_value = 1000,
// commission_type = strategy.commission.percent,
// commission_value = 0.1)
// Backtest Time Period
start_year = input(title='Start year' ,defval=2017)
start_month = input(title='Start month' ,defval=1)
start_day = input(title='Start day' ,defval=1)
start_time = timestamp(start_year, start_month, start_day, 00, 00)
end_year = input(title='end year' ,defval=2050)
end_month = input(title='end month' ,defval=1)
end_day = input(title='end day' ,defval=1)
end_time = timestamp(end_year, end_month, end_day, 23, 59)
window() => true
// EMA
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
// EMA_CD
emacd = ema50 - ema200
emacd_signal = ta.ema(emacd, 20)
hist = emacd - emacd_signal
// Count n candles after x long entries
var int nPastCandles = 0
var int entryNumber = 0
nPastCandles := nPastCandles + 1
// ENTRY CONDITIONS
// 8 hours per day => 240 hours per month
entry_condition1 = nPastCandles > entryNumber * 240
// End of downtrend
entry_condition2 = ta.crossover(emacd, emacd_signal)
ENTRY_CONDITIONS = entry_condition1 and entry_condition2
if ENTRY_CONDITIONS and window()
entryNumber := entryNumber + 1
entryId = 'Long ' + str.tostring(entryNumber)
strategy.entry(entryId, strategy.long)
// CLOSE CONDITIONS
// Last bar
CLOSE_CONDITIONS = barstate.islast
if CLOSE_CONDITIONS
strategy.close_all()
// Draw
plot(ema50, color=color.orange, linewidth=3)
plot(ema200, color=entry_condition1 ? color.green : color.red, linewidth=3)