Strategi ini adalah sistem perdagangan kuantitatif yang didasarkan pada sinyal crossover rata-rata bergerak ganda, dikombinasikan dengan mekanisme stop-loss dan take-profit dinamis untuk manajemen risiko. Strategi ini menggunakan rata-rata bergerak eksponensial (EMA) 20 periode dan 50 periode sebagai indikator sinyal, dengan tingkat stop-loss moderat 2,5% dan tingkat take-profit 4% untuk menyeimbangkan pengembalian dan risiko. Desain strategi ini sangat cocok untuk pedagang dengan toleransi risiko moderat, mampu menangkap perubahan tren pasar sambil mengendalikan risiko.
Logika inti dari strategi ini didasarkan pada elemen kunci berikut:
Ini adalah strategi perdagangan kuantitatif berisiko sedang yang dirancang dengan baik yang menangkap tren melalui crossover rata-rata bergerak sambil mengelola risiko dengan tingkat stop-loss dan take-profit yang dinamis. Keuntungan utama strategi ini terletak pada sifat sistematis dan risiko terkontrolnya yang tinggi, tetapi perhatian harus diberikan pada kondisi pasar yang mempengaruhi kinerja strategi. Melalui optimalisasi dan perbaikan terus-menerus, strategi ini memiliki potensi untuk mempertahankan kinerja yang stabil di berbagai lingkungan pasar. Pedagang disarankan untuk melakukan backtesting data historis yang menyeluruh sebelum implementasi langsung dan menyesuaikan parameter sesuai dengan toleransi risiko mereka.
/*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")