
La estrategia utiliza la línea rápida y la línea lenta de la EMA para juzgar la tendencia y la combinación de la proporción de paradas predeterminadas para realizar operaciones de seguimiento de tendencias. La estrategia se aplica a un período de tiempo arbitrario y permite la captura de tendencias en índices y acciones individuales.
La estrategia utiliza las líneas EMA de 3 y 30 como señal de negociación. Cuando se pasa 30 EMA por encima de 3 EMA, indica que el precio comienza a subir, lo que es válido para comprar; cuando se pasa 30 EMA por debajo de 3 EMA, indica que el precio comienza a bajar, lo que es válido para vender.
Al mismo tiempo, la estrategia también establece las condiciones de parada. Cuando el aumento de precios alcanza el precio de entrada de la estrategia de acuerdo con la proporción de parada establecida, EXIT. De esta manera, se puede bloquear más ganancias y realizar operaciones de seguimiento de tendencias.
La estrategia en general es una estrategia de seguimiento de tendencias muy práctica. Utiliza un simple indicador de EMA para determinar la dirección de la tendencia, establece reglas de parada razonables, puede controlar el riesgo de manera efectiva y es adecuada para el seguimiento de la línea larga de las acciones y el movimiento de la línea media del índice.
/*backtest
start: 2023-02-12 00:00:00
end: 2024-02-18 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover Strategy with Target", shorttitle="EMACross", overlay=true)
// Define input parameters
fastLength = input(3, title="Fast EMA Length")
slowLength = input(30, title="Slow EMA Length")
profitPercentage = input(100.0, title="Profit Percentage")
// Calculate EMAs
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
// Plot EMAs on the chart
plot(fastEMA, color=color.blue, title="Fast EMA")
plot(slowEMA, color=color.red, title="Slow EMA")
// Buy condition: 3EMA crosses above 30EMA
buyCondition = ta.crossover(fastEMA, slowEMA)
// Sell condition: 3EMA crosses below 30EMA or profit target is reached
sellCondition = ta.crossunder(fastEMA, slowEMA) or close >= (strategy.position_avg_price * (1 + profitPercentage / 100))
// Target condition: 50 points profit
//targetCondition = close >= (strategy.position_avg_price + 50)
// Execute orders
// strategy.entry("Buy", strategy.long, when=buyCondition)
// strategy.close("Buy", when=sellCondition )
if (buyCondition)
strategy.entry("Buy", strategy.long)
if (sellCondition)
strategy.close("Buy")
// // Execute sell orders
// strategy.entry("Sell", strategy.short, when=sellCondition)
// strategy.close("Sell", when=buyCondition)
// Plot buy and sell signals on the chart
plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)