Strategi ini menggunakan sinyal silang antara SMMA 50 periode dan SMA 20 periode untuk menentukan entri dan keluar. Strategi ini menghasilkan sinyal beli ketika garis SMA cepat melintasi di atas garis SMMA lambat, dan sinyal jual ketika SMA melintasi di bawah SMMA.
Uji kombinasi parameter yang berbeda (periode siklus, kriteria filter dll) untuk menemukan yang optimal.
Sertakan faktor lain seperti lonjakan volume untuk menyaring sinyal.
Gunakan alat optimasi parameter untuk menemukan parameter yang optimal.
Pertimbangkan untuk mengintegrasikan metode mengambil keuntungan lainnya seperti trailing stop atau exit berdasarkan rasio keuntungan.
Menghitung rentang stop loss dinamis berdasarkan volatilitas pasar.
Strategi ini memiliki logika yang relatif sederhana, menangkap arah tren melalui rata-rata bergerak ganda. penggunaan yang fleksibel dari fixed take profit dan stop loss dinamis untuk profit taking dan pengendalian risiko mencapai keseimbangan antara risiko dan imbalan. parameter lebih lanjut dan optimasi logika dapat menyesuaikan strategi ini untuk rentang yang lebih luas kondisi pasar.
/*backtest start: 2023-01-26 00:00:00 end: 2024-02-01 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("50 SMMA and 20 SMA Crossover with TP and SL", overlay=true) // Define 50 SMMA smma50 = sma(close, 50) // Define 20 SMA sma20 = sma(close, 20) // Plotting the SMMA and SMA plot(smma50, color=color.blue, title="50 SMMA") plot(sma20, color=color.red, title="20 SMA") // Initialize TP and SL variables tp = 150 var float sl_price = na // Buy Signal buySignal = crossover(sma20, smma50) strategy.entry("Buy", strategy.long, when = buySignal) strategy.exit("Take Profit/Stop Loss", from_entry="Buy", profit=tp, loss=sl_price) // Sell Signal sellSignal = crossunder(sma20, smma50) strategy.entry("Sell", strategy.short, when = sellSignal) strategy.exit("Take Profit/Stop Loss", from_entry="Sell", profit=tp, loss=sl_price) // Update stop loss level on every crossover if (buySignal or sellSignal) sl_price := close[bar_index + 1] // Plot Stop Loss level plotshape(series=sl_price != na, title="Stop Loss Level", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)