
Strategi ini telah diuji pada jangka masa 3 minit untuk pasangan perdagangan Bitcoin dan USD (BTC/USDT) dan memberikan hasil yang sangat baik. Strategi ini digabungkan dengan penggunaan purata bergerak dan penunjuk yang agak kuat secara rawak (Stochastic RSI) untuk mengenal pasti isyarat perdagangan.
Strategi ini menggunakan dua purata bergerak sederhana dengan tempoh yang berbeza, iaitu 20 dan 50 kitaran. Kedua-dua purata ini digunakan untuk menentukan trend harga. Apabila purata bergerak jangka pendek di atas rata-rata bergerak jangka panjang, ia adalah isyarat multihead dan di bawah adalah isyarat kosong.
RSI Stokastik dikira dengan formula: ((RSI - RSI Terendah) / ((RSI Tertinggi - RSI Terendah) * 100
Strategi ini menggabungkan penggunaan purata bergerak untuk menentukan arah trend, dan menggunakan RSI Stochastic untuk menentukan titik-titik perubahan yang berpotensi sebagai masa masuk.
Berbanding dengan penggunaan purata bergerak atau RSI Stokastik secara tunggal, strategi ini menggabungkan kelebihan kedua-duanya untuk lebih mengenali trend, dan pada masa yang sama untuk mengesan titik-titik perubahan yang berpotensi, yang meningkatkan peluang keuntungan.
Berbanding dengan satu petunjuk, strategi ini menggabungkan pelbagai petunjuk dan menetapkan peraturan kemasukan yang ketat, yang dapat menyaring isyarat palsu dengan berkesan dan mengelakkan perdagangan yang tidak berguna.
Strategi ini juga mengawal risiko dengan baik, dengan hanya 2% daripada dana yang digunakan untuk berdagang dengan jaminan, yang dapat mengehadkan kesan kerugian tunggal.
Strategi ini bergantung kepada petunjuk teknikal untuk menentukan isyarat perdagangan. Jika petunjuk gagal, isyarat yang salah boleh menyebabkan kerugian. Selain itu, parameter petunjuk yang tidak betul juga boleh mempengaruhi prestasi strategi.
Dalam keadaan pasaran yang tidak menentu, tetapan Stop Loss boleh ditembusi, menyebabkan risiko peningkatan kerugian.
Anda boleh menguji lebih banyak kombinasi dan parameter purata bergerak untuk mencari kombinasi parameter terbaik. Anda juga boleh mencuba kombinasi indikator momentum lain seperti KD, RSI dan lain-lain dengan purata bergerak.
Anda boleh memilih mod stop-loss terbaik berdasarkan ciri-ciri mata wang kripto yang berbeza untuk mengawal risiko lebih lanjut.
Algoritma pembelajaran mesin boleh diperkenalkan untuk mengoptimumkan tetapan parameter dan peraturan penilaian isyarat secara automatik, menjadikan strategi lebih kasar dan beradaptasi.
Strategi ini berjaya menggabungkan purata bergerak dan indikator Stochastic RSI untuk menentukan isyarat perdagangan. Strategi ini dapat memberikan isyarat perdagangan yang lebih dipercayai berbanding dengan indikator teknikal tunggal. Dengan kawalan risiko yang ketat dan pengoptimuman parameter, strategi ini dijangka dapat memperoleh keuntungan yang stabil.
/*backtest
start: 2023-01-25 00:00:00
end: 2024-01-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Moving Average and Stochastic RSI Strategy", shorttitle="MA+Stoch RSI", overlay=true)
// Input variables
ma1_length = input.int(20, title="MA1 Length")
ma2_length = input.int(50, title="MA2 Length")
stoch_length = input.int(14, title="Stochastic RSI Length")
overbought = input.int(80, title="Overbought Level")
oversold = input.int(20, title="Oversold Level")
risk_percentage = input.float(2.0, title="Risk Percentage")
// Calculate moving averages
ma1 = ta.sma(close, ma1_length)
ma2 = ta.sma(close, ma2_length)
// Calculate Stochastic RSI
rsi1 = ta.rsi(close, stoch_length)
rsiH = ta.highest(rsi1, stoch_length)
rsiL = ta.lowest(rsi1, stoch_length)
stoch = (rsi1 - rsiL) / (rsiH - rsiL) * 100
// Determine buy and sell signals based on Stochastic RSI
buySignal = ta.crossover(stoch, oversold)
sellSignal = ta.crossunder(stoch, overbought)
// Plot signals on the chart
plotshape(buySignal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sellSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// Calculate position size based on equity and risk percentage
equity = strategy.equity
riskAmount = equity * risk_percentage / 100
positionSize = riskAmount / ta.atr(14)
// Entry and exit conditions
var float stopLoss = na
var float takeProfit = na
if buySignal
stopLoss := low
takeProfit := high
strategy.entry("Buy", strategy.long)
else if sellSignal
strategy.exit("Sell", from_entry="Buy", stop=stopLoss, limit=takeProfit)