Ini adalah strategi perdagangan adaptif yang didasarkan pada sinyal crossover rata-rata bergerak ganda. Strategi ini menggunakan rata-rata bergerak sederhana (SMA) 14 periode dan 28 periode untuk menghasilkan sinyal perdagangan, dikombinasikan dengan mekanisme stop-loss dan take-profit yang dapat disesuaikan untuk mencapai manajemen risiko-imbalan yang seimbang. Strategi ini menggunakan manajemen uang tetap dengan modal awal 2000 dan 200 per perdagangan.
Logika inti didasarkan pada hubungan silang antara dua SMA dari periode yang berbeda. Sinyal panjang dihasilkan ketika MA jangka pendek (14 periode) melintasi di atas MA jangka panjang (28-periode), dan sinyal pendek dihasilkan ketika MA jangka pendek melintasi di bawah MA jangka panjang. Strategi ini menggabungkan mekanisme stop-loss dan take-profit berbasis persentase yang ditetapkan masing-masing pada 2% dan 4%, yang memungkinkan penyesuaian otomatis titik keluar berdasarkan harga pasar.
Ini adalah strategi perdagangan yang terstruktur dengan baik dan logis. Ini menangkap peluang perdagangan melalui penyeberangan rata-rata bergerak ganda sambil mengendalikan risiko dengan mekanisme stop-loss dan take-profit yang adaptif. Meskipun ada ruang untuk optimasi, desain keseluruhan mematuhi prinsip perdagangan kuantitatif mendasar. Melalui arah optimasi yang disarankan, stabilitas dan potensi profitabilitas strategi dapat ditingkatkan lebih lanjut.
/*backtest start: 2024-10-01 00:00:00 end: 2024-10-31 23:59:59 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('My Custom Strategy', overlay = true) // Parámetros de las SMAs (Medias Móviles Simples) sma14 = ta.sma(close, 14) sma28 = ta.sma(close, 28) // Stop Loss y Take Profit configurables stop_loss_percent = input.float(2, title="Stop Loss %", minval=0.1, step=0.1) take_profit_percent = input.float(4, title="Take Profit %", minval=0.1, step=0.1) // Cálculo de stop loss y take profit stop_loss = close * (1 - stop_loss_percent / 100) take_profit = close * (1 + take_profit_percent / 100) // Condiciones de entrada para compra (long) longCondition = ta.crossover(sma14, sma28) if (longCondition) strategy.entry('Long', strategy.long, stop=stop_loss, limit=take_profit) plotshape(series=longCondition, color=color.new(color.blue, 0), style=shape.labelup, location=location.belowbar, text="BUY") // Condiciones de entrada para venta (short) shortCondition = ta.crossunder(sma14, sma28) if (shortCondition) strategy.entry('Short', strategy.short, stop=stop_loss, limit=take_profit) plotshape(series=shortCondition, color=color.new(color.red, 0), style=shape.labeldown, location=location.abovebar, text="SELL") // Visualización de las SMAs en el gráfico plot(sma14, color=color.blue, title="SMA 14") plot(sma28, color=color.red, title="SMA 28")