Strategi ini telah diuji pada pasangan dagangan BTC/USDT dalam jangka masa 3 minit dan memberikan hasil yang luar biasa. Ia menggabungkan penggunaan purata bergerak dan penunjuk RSI Stochastic untuk mengenal pasti isyarat dagangan.
Strategi ini menggunakan dua purata bergerak mudah dengan tempoh masa yang berbeza, masing-masing 20 tempoh dan 50 tempoh. Kedua-dua purata ini digunakan untuk menilai trend harga. Apabila purata bergerak jangka pendek melintasi di atas purata bergerak jangka panjang, ia adalah isyarat kenaikan, dan apabila melintasi di bawah, ia adalah isyarat penurunan.
Formula pengiraan penunjuk RSI Stochastic adalah: (RSI - RSI Terendah) / (RSI Tertinggi - RSI Terendah) * 100. Penunjuk ini mencerminkan tahap semasa penunjuk RSI berbanding dengan RSI tertinggi dan terendah dalam tempoh masa baru-baru ini. Apabila RSI Stochastic melintasi di atas 20, ia adalah isyarat oversold, dan apabila ia melintasi di bawah 80, ia adalah isyarat overbought.
Strategi ini menggabungkan penggunaan purata bergerak untuk menilai arah trend dan RSI Stochastic untuk mencari titik pembalikan yang berpotensi sebagai peluang kemasukan.
Berbanding dengan menggunakan purata bergerak atau RSI Stochastic sahaja, strategi ini menggabungkan kelebihan kedua-duanya untuk mengenal pasti trend dengan lebih baik sambil mencari titik pembalikan yang berpotensi, dengan itu meningkatkan kebarangkalian keuntungan.
Berbanding dengan satu penunjuk, strategi ini mengintegrasikan beberapa penunjuk dan menetapkan peraturan kemasukan yang ketat, yang dapat menyaring isyarat palsu dengan berkesan dan mengelakkan perdagangan yang tidak perlu.
Strategi ini juga mengawal risiko dengan sangat baik dengan hanya menggunakan 2% modal untuk perdagangan margin setiap kali, yang dapat dengan berkesan mengehadkan kesan kerugian tunggal.
Strategi ini terutamanya bergantung kepada penunjuk teknikal untuk menentukan isyarat perdagangan. Jika penunjuk gagal, ia boleh menghasilkan isyarat yang salah dan menyebabkan kerugian. Di samping itu, tetapan parameter yang tidak betul juga akan mempengaruhi prestasi strategi.
Dalam masa turun naik pasaran yang ganas, tetapan stop-loss boleh dilanggar, yang membawa kepada risiko peningkatan kerugian.
Uji lebih banyak kombinasi purata bergerak dan parameter untuk mencari kombinasi parameter optimum. Penunjuk berpotensi lain seperti KD dan RSI juga boleh digabungkan dengan purata bergerak.
Memilih mod stop-loss terbaik mengikut ciri-ciri mata wang kripto yang berbeza untuk mengawal risiko lebih lanjut.
Memperkenalkan algoritma pembelajaran mesin untuk mengoptimumkan tetapan parameter secara automatik dan peraturan penilaian isyarat untuk menjadikan strategi lebih kukuh dan beradaptasi.
Strategi ini berjaya menggabungkan purata bergerak dan penunjuk RSI Stochastic untuk menentukan isyarat perdagangan. Berbanding dengan satu petunjuk teknikal, strategi ini dapat memberikan isyarat perdagangan yang lebih boleh dipercayai. Dengan kawalan risiko yang ketat dan pengoptimuman parameter, strategi ini berpotensi untuk mencapai 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)