Strategi ini menggunakan dua rata-rata bergerak (rata-rata bergerak cepat dan rata-rata bergerak lambat) dan Indeks Kekuatan Relatif (RSI) untuk mengidentifikasi tren pasar jangka pendek dan kondisi overbought / oversold. Ketika rata-rata bergerak cepat melintasi di atas rata-rata bergerak lambat dan RSI berada di bawah tingkat oversold, strategi memasuki posisi panjang. Ketika rata-rata bergerak cepat melintasi di bawah rata-rata bergerak lambat dan RSI berada di atas tingkat overbought, strategi memasuki posisi pendek. Strategi menentukan titik masuk dan keluar berdasarkan persilangan rata-rata bergerak dan tingkat RSI untuk menangkap tren harga jangka pendek.
Strategi ini menggabungkan rata-rata bergerak ganda dan indikator RSI untuk menangkap tren harga jangka pendek, membuatnya cocok untuk perdagangan jangka pendek di pasar yang fluktuatif. Logika strategi jelas, parameternya fleksibel, dan mudah diterapkan dan dioptimalkan. Namun, strategi ini dapat menghasilkan sinyal perdagangan yang berlebihan di pasar yang berbelit-belit dan memiliki kemampuan yang lemah untuk menangkap tren jangka panjang. Oleh karena itu, dalam aplikasi praktis, pertimbangkan untuk memperkenalkan indikator tambahan, mengoptimalkan pemilihan parameter, menerapkan langkah-langkah manajemen risiko, dan pendekatan lain untuk meningkatkan ketahanan dan profitabilitas strategi.
/*backtest start: 2024-03-24 00:00:00 end: 2024-03-25 05:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Short-Term Scalp Trading Strategy", overlay=true) // Define strategy parameters fastMA_length = input(5, title="Fast MA Length") slowMA_length = input(10, title="Slow MA Length") rsi_length = input(7, title="RSI Length") rsi_oversold = input(20, title="RSI Oversold Level") rsi_overbought = input(80, title="RSI Overbought Level") // Calculate Moving Averages fastMA = ta.sma(close, fastMA_length) slowMA = ta.sma(close, slowMA_length) // Calculate RSI rsi = ta.rsi(close, rsi_length) // Define entry conditions longCondition = ta.crossunder(fastMA, slowMA) and rsi < rsi_oversold shortCondition = ta.crossover(fastMA, slowMA) and rsi > rsi_overbought // Enter long position strategy.entry("Long", strategy.long, when=longCondition) // Enter short position strategy.entry("Short", strategy.short, when=shortCondition) // Define exit conditions longExitCondition = ta.crossunder(fastMA, slowMA) or ta.crossover(rsi, rsi_overbought) shortExitCondition = ta.crossover(fastMA, slowMA) or ta.crossunder(rsi, rsi_oversold) // Exit long position if (longExitCondition) strategy.close("Exit Long", "Long") // Exit short position if (shortExitCondition) strategy.close("Exit Short", "Short") // Plot buy and sell signals plotshape(series=longCondition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(series=shortCondition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)