Ini adalah strategi dagangan adaptif berdasarkan isyarat silang purata bergerak berganda. Strategi ini menggunakan purata bergerak mudah (SMA) 14 tempoh dan 28 tempoh untuk menghasilkan isyarat dagangan, digabungkan dengan mekanisme stop-loss dan mengambil keuntungan yang boleh disesuaikan untuk mencapai pengurusan risiko-balasan yang seimbang. Strategi ini menggunakan pengurusan wang tetap dengan modal awal 2000 dan 200 setiap perdagangan.
Logik terasnya adalah berdasarkan hubungan silang antara dua SMA dari tempoh yang berbeza. Isyarat panjang dihasilkan apabila MA jangka pendek (14-periode) melintasi di atas MA jangka panjang (28-periode), dan isyarat pendek dihasilkan apabila MA jangka pendek melintasi di bawah MA jangka panjang. Strategi ini menggabungkan mekanisme stop-loss berasaskan peratusan dan mengambil keuntungan yang ditetapkan masing-masing pada 2% dan 4%, yang membolehkan penyesuaian titik keluar secara automatik berdasarkan harga pasaran.
Ini adalah strategi perdagangan yang berstruktur dan logiknya. Ia menangkap peluang perdagangan melalui persilangan purata bergerak berganda sambil mengawal risiko dengan mekanisme stop-loss dan mengambil keuntungan yang adaptif. Walaupun terdapat ruang untuk pengoptimuman, reka bentuk keseluruhan mematuhi prinsip perdagangan kuantitatif asas. Melalui arah pengoptimuman yang dicadangkan, kestabilan dan potensi keuntungan strategi dapat ditingkatkan lagi.
/*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")