
Die Strategie ist ein quantitatives Handelssystem, das auf doppelte Gleichgewichts-Kreuzsignale basiert und Risiken durch die Kombination von dynamischen Stop-Loss-Mechanismen verwaltet. Die Strategie verwendet einen Index-Moving-Average (EMA) mit 20 und 50 Zyklen als Signalindikator und setzt relativ moderate Stop-Loss- und 4% Stop-Levels, um Gewinn und Risiko auszugleichen. Die Strategie ist besonders für Trader mit mittlerer Risikobereitschaft konzipiert, die in der Lage sind, Chancen zu erfassen und Risiken zu kontrollieren, wenn sich die Markttrends ändern.
Die Kernlogik der Strategie basiert auf den folgenden Schlüsselelementen:
Es handelt sich um eine Strategie, die mittel- und mittelfrisch und quantitativ ausgelegt ist. Sie erfasst Trends durch eine gleichmäßige Kreuzung und verwaltet die Risiken mit dynamischen Stop-Loss-Strategien. Die Hauptvorteile der Strategie liegen in der hohen Systematisierung, die Risiken sind kontrollierbar, aber in der praktischen Anwendung muss der Einfluss der Marktumgebung auf die Strategie berücksichtigt werden. Durch kontinuierliche Optimierung und Verbesserung wird die Strategie unter verschiedenen Marktumgebungen stabil bleiben.
/*backtest
start: 2024-10-12 00:00:00
end: 2024-11-11 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Estrategia STX - Medias Móviles con Riesgo Medio", overlay=true)
// Parámetros configurables
mmr_period = input.int(20, title="Periodo Media Móvil Rápida (MMR)")
mml_period = input.int(50, title="Periodo Media Móvil Lenta (MML)")
stop_loss_percent = input.float(2.5, title="Stop-Loss (%)", step=0.1) // Stop-Loss moderado
take_profit_percent = input.float(4.0, title="Take-Profit (%)", step=0.1) // Take-Profit moderado
// Cálculo de medias móviles (Exponenciales)
mmr = ta.ema(close, mmr_period) // Media Móvil Rápida
mml = ta.ema(close, mml_period) // Media Móvil Lenta
// Señales de Compra y Venta
long_condition = ta.crossover(mmr, mml) // Señal de compra
short_condition = ta.crossunder(mmr, mml) // Señal de venta
// Calcular niveles de Stop-Loss y Take-Profit solo al activar la compra
var float entry_price = na
var float stop_loss_level = na
var float take_profit_level = na
if (long_condition)
entry_price := close
stop_loss_level := entry_price * (1 - stop_loss_percent / 100)
take_profit_level := entry_price * (1 + take_profit_percent / 100)
// Condiciones de salida (Stop-Loss y Take-Profit)
exit_condition = (close <= stop_loss_level) or (close >= take_profit_level)
// Ejecución de Órdenes
if (long_condition)
strategy.entry("Compra", strategy.long)
if (short_condition or exit_condition)
strategy.close("Compra")
// Trazar Medias Móviles y Niveles
plot(mmr, color=color.blue, linewidth=2, title="Media Móvil Rápida (MMR)")
plot(mml, color=color.orange, linewidth=2, title="Media Móvil Lenta (MML)")
plot(not na(entry_price) ? stop_loss_level : na, color=color.red, style=plot.style_line, linewidth=1, title="Stop-Loss")
plot(not na(entry_price) ? take_profit_level : na, color=color.green, style=plot.style_line, linewidth=1, title="Take-Profit")