
Esta estrategia de guión de pines implementa una estrategia de costo promedio diario en la plataforma TradingView, al mismo tiempo que combina las señales de toque del indicador EMA para determinar el punto de entrada. La estrategia sigue la ley de inversión de costo promedio, comprando una cantidad fija por día para dispersar el riesgo. Al mismo tiempo, guía el momento de entrada específico a través de las señales de toque del EMA.
La estrategia se caracteriza por las siguientes características:
La ley de la inversión en costos promedio diarios
Los indicadores de la EMA determinan el punto de entrada
Mecanismo de detención de pérdidas dinámicas
Limitación de la posición máxima
En concreto, la estrategia invierte una cantidad fija por día, la cantidad de acciones que se pueden comprar según el precio de cierre del día. Sobre esta base, si el precio de cierre del día atraviesa cualquier EMA de los días 5, 10 y 20, se activa una señal de compra. Una vez que la posición acumulada alcance el límite máximo de 300 peniques, no habrá una nueva operación de compra. Además, si el precio de cierre cae por debajo de la SMA del día 20 o si se llega a una fecha de salida preestablecida, se liquida el stop loss.
La estrategia tiene las siguientes ventajas:
Descentralización de las inversiones, reducción del riesgo de una sola inversión
La EMA se unió para evitar ajustes a corto plazo
Dinámica de pérdidas y control de pérdidas
Limitación de la posición máxima y control del riesgo
El EMA intuitivo muestra que es fácil de juzgar
Alturas a medida
La estrategia también tiene algunos riesgos a tener en cuenta:
El riesgo sistémico es difícil de evitar
El riesgo de una inversión fija
La EMA no puede responder a situaciones extremas
Las restricciones de posición también limitan el espacio de ganancias
La configuración de puntos de parada requiere experiencia y habilidad
La estrategia también tiene margen para una mayor optimización:
Aumentar el ajuste dinámico de la cantidad de entrada diaria
Más indicadores para la admisión
Medias móviles del índice
Ajuste dinámico de las posiciones máximas
La adopción de un deterioro progresivo
En general, la estrategia de costo promedio diario, combinada con la señal de toque de la EMA, permite la idea de invertir en lotes a largo plazo. En comparación con la apertura de posiciones de un solo jugador, se puede dispersar el riesgo y evitar el festejo en el punto más alto. La inclusión de la EMA también evita en cierta medida el riesgo que conlleva el ajuste a corto plazo y toma medidas de detención para controlar el máximo de pérdidas.
/*backtest
start: 2024-01-08 00:00:00
end: 2024-01-15 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Daily DCA Strategy with Touching EMAs", overlay=true, pyramiding=10000)
// Customizable Parameters
daily_investment = input(50000, title="Daily Investment")
start_year = input(2022, title="Start Year")
start_month = input(1, title="Start Month")
start_day = input(1, title="Start Day")
end_year = input(2023, title="End Year")
end_month = input(12, title="End Month")
end_day = input(1, title="End Day")
trade_count_limit = input(10000, title="Pyramiding Limit")
enable_sell = input(true, title="Enable Sell")
start_date = timestamp(start_year, start_month, start_day)
var int trade_count = 0
// Calculate the number of shares to buy based on the current closing price
shares_to_buy = daily_investment / close
// Check if a new day has started and after the start date
isNewDay = dayofmonth != dayofmonth[1] and time >= start_date
// Buy conditions based on EMA crossovers
ema5_cross_above = crossover(close, ema(close, 5))
ema10_cross_above = crossover(close, ema(close, 10))
ema20_cross_above = crossover(close, ema(close, 20))
ema50_cross_above = crossover(close, ema(close, 50))
ema100_cross_above = crossover(close, ema(close, 100))
ema200_cross_above = crossover(close, ema(close, 200))
if isNewDay and (ema5_cross_above or ema10_cross_above or ema20_cross_above or ema50_cross_above or ema100_cross_above or ema200_cross_above) and trade_count < trade_count_limit
strategy.entry("Buy", strategy.long, qty=shares_to_buy)
trade_count := trade_count + 1
// Dynamic sell conditions (optional)
sell_condition = true
if enable_sell and sell_condition
strategy.close_all()
// EMA Ribbon for visualization
plot(ema(close, 5), color=color.red, title="EMA 5")
plot(ema(close, 10), color=color.orange, title="EMA 10")
plot(ema(close, 20), color=color.yellow, title="EMA 20")
plot(ema(close, 50), color=color.green, title="EMA 50")
plot(ema(close, 100), color=color.blue, title="EMA 100")
plot(ema(close, 200), color=color.purple, title="EMA 200")