Strategi ini mengidentifikasi tren yang kuat dan waktu yang menguntungkan untuk perdagangan jangka pendek dengan pengendalian kerugian. Ini melacak price breakout dari moving average sederhana sebagai sinyal tren dan menetapkan stop loss / take profit berdasarkan divergensi RSI untuk menangkap pergerakan harga jangka pendek.
Perhitungan rata-rata bergerak sederhana multi-periode
Menetapkan SMA 9 hari, 50 hari dan 100 hari
SMA pendek melintasi SMA panjang menunjukkan arah tren
Penilaian tingkat overbought/oversold menggunakan RSI
Panjang RSI adalah 14 periode
RSI di atas 70 adalah overbought, di bawah 30 adalah oversold
Memasuki perdagangan ketika harga melanggar SMA 9 hari
Pergi panjang ketika harga melanggar SMA 9 hari
Pergi short ketika harga melanggar di bawah SMA 9 hari
Menetapkan stop loss/take profit berdasarkan divergensi RSI
Divergensi RSI untuk stop loss
Ambil keuntungan ketika RSI mencapai tingkat yang telah ditetapkan
Menangkap tren jangka pendek, cocok untuk perdagangan frekuensi tinggi
Kombo SMA menyaring sinyal tren, menghindari perdagangan buruk
RSI membantu menentukan waktu, mengontrol risiko secara efektif
Fleksibel stop loss/take profit lock keuntungan jangka pendek
Menggabungkan indikator meningkatkan stabilitas
Penilaian tren jangka pendek yang tidak akurat menyebabkan mengejar
Sinyal RSI palsu memperluas kerugian
Pengaturan stop loss/take profit yang tidak benar mengurangi keuntungan atau memperbesar kerugian
Frekuensi perdagangan yang tinggi meningkatkan biaya dan slipage
Parameter yang tidak efektif dan strategi dampak pasar yang tidak normal
Mengoptimalkan parameter, stop loss ketat, mengelola biaya
Uji kombinasi SMA yang berbeda untuk meningkatkan penilaian tren
Pertimbangkan indikator tambahan seperti STOCH untuk memverifikasi sinyal RSI
Menggunakan pembelajaran mesin untuk menentukan penyebaran yang valid
Sesuaikan parameter untuk produk dan sesi yang berbeda
Mengoptimalkan logika stop loss/take profit untuk trailing dinamis
Jelajahi mekanisme pengaturan parameter otomatis
Strategi ini menggabungkan SMA dan RSI untuk pendekatan perdagangan jangka pendek yang konservatif. Parameter penyetelan halus, memvalidasi sinyal, mengendalikan risiko membuatnya lebih kuat dan adaptif. Ada ruang untuk perbaikan dengan mengeksplorasi lebih banyak kombinasi SMA, menambahkan model pembelajaran mesin dll. Optimasi berkelanjutan akan mengarah pada kedewasaan lebih lanjut.
/*backtest start: 2023-08-27 00:00:00 end: 2023-09-26 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Coinrule //@version=4 strategy(shorttitle='Maximized Scalping On Trend',title='Maximized Scalping On Trend (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1) //Backtest dates fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12) fromDay = input(defval = 10, title = "From Day", type = input.integer, minval = 1, maxval = 31) fromYear = input(defval = 2019, title = "From Year", type = input.integer, minval = 1970) thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12) thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31) thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970) showDate = input(defval = true, title = "Show Date Range", type = input.bool) start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window window() => true // create function "within window of time" //MA inputs and calculations movingaverage_fast = sma(close, input(9)) movingaverage_mid= sma(close, input(50)) movingaverage_slow = sma(close, input (100)) //Trend situation Bullish= cross(close, movingaverage_fast) Momentum = movingaverage_mid > movingaverage_slow // RSI inputs and calculations lengthRSI = 14 RSI = rsi(close, lengthRSI) //Entry strategy.entry(id="long", long = true, when = Bullish and Momentum and RSI > 50) //Exit TP = input(70) SL =input(30) longTakeProfit = RSI > TP longStopPrice = RSI < SL strategy.close("long", when = longStopPrice or longTakeProfit and window()) plot(movingaverage_fast, color=color.black, linewidth=2 ) plot(movingaverage_mid, color=color.orange, linewidth=2) plot(movingaverage_slow, color=color.purple, linewidth=2)