
La estrategia es una simple estrategia de cruce de medias móviles. Hace más cuando cruza un EMA lento en un EMA rápido y hace vacío cuando cruza un EMA lento bajo un EMA rápido. La estrategia combina stop loss, stop loss y stop loss móvil para controlar el riesgo de manera efectiva.
La estrategia se basa en una media móvil rápida y lenta. La línea rápida es la EMA de 9 días y la línea lenta es la EMA de 21 días.
El stop loss se establece en función de un porcentaje determinado del cierre, el stop loss se establece en función de un porcentaje determinado del cierre. El stop loss se mueve en función de un porcentaje determinado del cierre, y cuando el precio alcanza ese nivel, el stop loss se mueve al precio de apertura.
La estrategia tiene las siguientes ventajas:
La estrategia también tiene sus riesgos:
La solución:
La estrategia puede ser optimizada en los siguientes aspectos:
La estrategia de movimiento de la media de cruce de oro en general es lógica clara y fácil de implementar, al mismo tiempo que la combinación de la parada de pérdidas, paradas y paradas móviles controla el riesgo. A través de la configuración de parámetros razonables y el ajuste de optimización para diferentes mercados, la estrategia puede obtener un mejor efecto. Sin embargo, debe tener en cuenta el riesgo de error y la dificultad de optimización de parámetros.
/*backtest
start: 2022-12-20 00:00:00
end: 2023-12-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("XAUUSD Strategy with SL, TP, and BE", shorttitle="EA", overlay=true)
// Define strategy parameters
fastLength = input(9, title="Fast EMA Length")
slowLength = input(21, title="Slow EMA Length")
stopLossPercent = input(1, title="Stop Loss (%)", minval=0, maxval=5) / 100
takeProfitPercent = input(2, title="Take Profit (%)", minval=0, maxval=5) / 100
breakEvenPercent = input(1, title="Break Even (%)", minval=0, maxval=5) / 100
// Calculate EMAs
fastEMA = ema(close, fastLength)
slowEMA = ema(close, slowLength)
// Plot EMAs on the chart
plot(fastEMA, color=color.blue, title="Fast EMA")
plot(slowEMA, color=color.red, title="Slow EMA")
// Strategy logic
enterLong = crossover(fastEMA, slowEMA)
exitLong = crossunder(fastEMA, slowEMA)
enterShort = crossunder(fastEMA, slowEMA)
exitShort = crossover(fastEMA, slowEMA)
// Calculate stop loss, take profit, and break-even levels
longStopLoss = close * (1 - stopLossPercent)
longTakeProfit = close * (1 + takeProfitPercent)
shortStopLoss = close * (1 + stopLossPercent)
shortTakeProfit = close * (1 - takeProfitPercent)
longBreakEven = close * (1 + breakEvenPercent)
shortBreakEven = close * (1 - breakEvenPercent)
// Execute strategy with stop loss, take profit, and break-even
strategy.entry("Long", strategy.long, when = enterLong)
strategy.exit("Take Profit/Stop Loss Long", from_entry="Long", profit = longTakeProfit, loss = longStopLoss)
strategy.entry("Short", strategy.short, when = enterShort)
strategy.exit("Take Profit/Stop Loss Short", from_entry="Short", profit = shortTakeProfit, loss = shortStopLoss)
// Move stop loss to break even when price reaches break-even level
strategy.exit("Break Even Long", from_entry="Long", loss = longBreakEven)
strategy.exit("Break Even Short", from_entry="Short", loss = shortBreakEven)