Strategi ini mengenal pasti trend yang kuat dan masa yang baik untuk perdagangan jangka pendek dengan kawalan kerugian. Ia mengesan penembusan harga purata bergerak mudah sebagai isyarat trend dan menetapkan stop loss / mengambil keuntungan berdasarkan perbezaan RSI untuk menangkap pergerakan harga jangka pendek.
Pengiraan purata bergerak mudah pelbagai tempoh
Menetapkan SMA 9 hari, 50 hari dan 100 hari
SMA pendek melintasi SMA panjang menunjukkan arah trend
Menghakimi tahap overbought/oversold menggunakan RSI
Panjang RSI adalah 14 tempoh
RSI di atas 70 adalah overbought, di bawah 30 adalah oversold
Memasuki dagangan apabila harga memecahkan SMA 9 hari
Pergi panjang apabila harga memecahkan di atas SMA 9 hari
Pergi pendek apabila harga pecah di bawah 9-hari SMA
Menetapkan stop loss/take profit berdasarkan perbezaan RSI
Perbezaan RSI untuk stop loss
Ambil keuntungan apabila RSI mencapai tahap yang telah ditetapkan
Mencatatkan trend jangka pendek, sesuai untuk perdagangan frekuensi tinggi
Kombo SMA menyaring isyarat trend, mengelakkan perdagangan buruk
RSI membantu menentukan masa, mengawal risiko dengan berkesan
Pengecualian yang berlaku untuk penempatan dan penghantaran.
Menggabungkan penunjuk meningkatkan kestabilan
Penghakiman trend jangka pendek yang tidak tepat menyebabkan mengejar
Isyarat RSI palsu meningkatkan kerugian
Tetapan stop loss/take profit yang tidak betul mengurangkan keuntungan atau meningkatkan kerugian
Frekuensi dagangan yang tinggi meningkatkan kos dan seluncur
Parameter yang tidak berkesan dan strategi kesan pasaran yang tidak normal
Mengoptimumkan parameter, stop loss yang ketat, menguruskan kos
Uji kombinasi SMA yang berbeza untuk meningkatkan penilaian trend
Pertimbangkan penunjuk tambahan seperti STOCH untuk mengesahkan isyarat RSI
Menggunakan pembelajaran mesin untuk menentukan penembusan yang sah
Sesuaikan parameter untuk produk dan sesi yang berbeza
Mengoptimumkan logik Stop Loss/Take Profit untuk trailing dinamik
meneroka mekanisme auto parameter tuning
Strategi ini menggabungkan SMA dan RSI untuk pendekatan perdagangan jangka pendek yang konservatif. Parameter penyuntingan halus, pengesahan isyarat, mengawal risiko menjadikannya lebih kukuh dan beradaptasi. Terdapat ruang untuk peningkatan dengan meneroka lebih banyak kombinasi SMA, menambah model pembelajaran mesin dan lain-lain. Pengoptimuman berterusan akan membawa kepada kematangan yang 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)