Strategi ini adalah strategi perdagangan yang dirancang berdasarkan prinsip crossover dari garis rata-rata bergerak Bitcoin. Strategi ini menggunakan crossover dari garis rata-rata bergerak cepat dan garis rata-rata bergerak lambat sebagai sinyal beli dan jual. Ketika garis rata-rata bergerak cepat melintasi di atas garis rata-rata bergerak lambat, itu dianggap sebagai salib emas dan pergi panjang; ketika garis rata-rata bergerak cepat melintasi di bawah garis rata-rata bergerak lambat, itu dianggap sebagai salib kematian dan pergi pendek. Pada saat yang sama, strategi ini juga menggabungkan indikator RSI untuk menghindari masuk yang sembrono.
Strategi ini terutama didasarkan pada dua indikator:
Moving Average (MA): Menghitung harga penutupan rata-rata selama periode tertentu untuk menentukan tren harga dan sinyal pembalikan.
Relative Strength Index (RSI): Menghitung kecepatan kenaikan dan penurunan harga selama periode tertentu untuk menilai area overbought dan oversold.
Secara khusus, strategi ini menggunakan MA yang lebih pendek sebagai garis cepat dan MA yang lebih panjang sebagai garis lambat. Ketika garis cepat melintasi di atas garis lambat, ini menunjukkan bahwa kenaikan harga jangka pendek meningkat dan sinyal beli dihasilkan; ketika garis cepat melintasi di bawah garis lambat, ini menunjukkan bahwa penurunan harga jangka pendek meningkat dan sinyal jual dihasilkan.
Pada saat yang sama, strategi ini juga menetapkan ambang untuk RSI, menghasilkan sinyal beli hanya ketika RSI di atas 50 dan sinyal jual hanya ketika RSI di bawah 50, menghindari masuk sembrono ketika harga turun naik dengan keras.
Strategi ini memiliki keuntungan berikut:
Strategi ini juga memiliki beberapa risiko:
Untuk mengurangi risiko, dianjurkan untuk mengoptimalkan parameter periode rata-rata bergerak, menyesuaikan posisi stop loss, dan secara tepat mengurangi ukuran posisi.
Arah optimasi utama untuk strategi ini meliputi:
Mengoptimalkan parameter periode rata-rata bergerak untuk menemukan kombinasi parameter yang optimal, melalui pencarian inkremental, algoritma genetik, dll.
Meningkatkan indikator teknis lainnya untuk penyaringan, seperti KDJ, MACD, dll untuk meningkatkan kualitas sinyal perdagangan.
Memantau fluktuasi harga dan menyesuaikan posisi dan stop loss sesuai.
Masukkan volume perdagangan untuk menghindari breakout palsu, hanya mengeluarkan sinyal ketika volume perdagangan berkembang.
Mengembangkan mekanisme penyesuaian parameter sendiri, memungkinkan strategi untuk menyesuaikan nilai parameter secara otomatis berdasarkan lingkungan pasar yang berbeda.
Singkatnya, ini adalah strategi yang mengikuti tren yang khas. Berdasarkan prinsip crossover rata-rata bergerak, logika perdagangan sederhana dan jelas, mudah dimengerti dan diimplementasikan. Menggabungkan indikator RSI dapat menghindari perdagangan irasional. Strategi membawa risiko dan imbalan, cocok untuk investor dengan beberapa pengalaman perdagangan kuantitatif, tetapi risiko kerugian potensial perlu dijaga. Jika pengembang dapat menambahkan lebih banyak filter, mengoptimalkan adaptivitas parameter, itu dapat lebih meningkatkan profitabilitas strategi yang stabil.
/*backtest start: 2023-11-03 00:00:00 end: 2023-12-03 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //Trading Strategy Warning - Past performance may not equal future performance //Account Size Warning - Performance based upon default 10% risk per trade, of account size $100,000. Adjust before you trade to see your own drawdown. //Time Frame - D1 and H4, warning H4 has a lower profit factor (fake-outs, and account drawdown), D1 recommended //Trend Following System - Profitability of this system is dependent on a STRONG trend in Bitcoin, into the future strategy("Bitcoin - MA Crossover Strategy", overlay=true) // User Input usr_risk = input(title="Equity Risk (%)",type=input.integer,minval=1,maxval=100,step=1,defval=10,confirm=false) sma_fast = input(title="Fast MA (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=20,confirm=false) sma_slow = input(title="Slow MA (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=40,confirm=false) rsi_valu = input(title="RSI (Period)",type=input.integer,minval=1,maxval=500,step=1,defval=14,confirm=false) // Create Indicator's shortSMA = sma(close, sma_fast) longSMA = sma(close, sma_slow) rsi = rsi(close, rsi_valu) strategy.initial_capital = 50000 // Units to buy amount = usr_risk / 100 * (strategy.initial_capital + strategy.netprofit) units = floor(amount / close) // Specify entry conditions longEntry = crossover(shortSMA, longSMA) shortEntry = crossunder(shortSMA, longSMA) // Specify exit conditions longExit = crossunder(shortSMA, longSMA) shortExit = crossover(shortSMA, longSMA) // Execute long trade if (longEntry) strategy.entry("long", strategy.long, units, when = rsi > 50) // Exit long trade if(longExit and strategy.position_size > 0) strategy.order("exit long", strategy.short, abs(strategy.position_size)) // Execute short trade if (shortEntry) strategy.entry("short", strategy.short, units, when = rsi < 50) // Exit short trade if(shortExit and strategy.position_size < 0) strategy.order("exit short", strategy.long, abs(strategy.position_size)) // Plot Moving Average's to chart plot(shortSMA) plot(longSMA, color=color.black)