
Strategi ini didasarkan pada prinsip crossover moving average yang didesain untuk mengikuti tren strategi perdagangan. Strategi ini menggunakan crossover moving average cepat dan moving average lambat sebagai sinyal beli dan jual. Ketika melewati moving average lambat di atas moving average cepat, pertimbangkan sebagai garpu emas, lakukan lebih banyak; ketika melewati moving average lambat di bawah moving average cepat, pertimbangkan sebagai garpu mati, lakukan kosong.
Strategi ini didasarkan pada dua indikator:
Moving Average (MA): Menghitung nilai rata-rata harga penutupan dalam periode tertentu, digunakan untuk menilai pergerakan harga dan sinyal yang terjadi.
Indeks Kekuatan Relatif (RSI): Menghitung laju penurunan harga saham dalam periode tertentu, untuk menilai zona overbought dan oversold.
Secara khusus, strategi menggunakan MA yang lebih pendek sebagai garis cepat, dan MA yang lebih panjang sebagai garis lambat. Ketika garis cepat melewati garis lambat, ini menunjukkan kenaikan harga jangka pendek yang dipercepat, menghasilkan sinyal beli. Ketika garis cepat melewati garis lambat, ini menunjukkan kenaikan harga jangka pendek yang dipercepat, menghasilkan sinyal jual.
Strategi ini juga mengatur nilai RSI, hanya menghasilkan sinyal beli ketika RSI lebih tinggi dari 50, dan menghasilkan sinyal jual ketika RSI lebih rendah dari 50, untuk menghindari penarikan saat harga berfluktuasi tajam.
Strategi ini memiliki keuntungan sebagai berikut:
Strategi ini juga memiliki beberapa risiko:
Untuk mengurangi risiko, disarankan untuk mengoptimalkan parameter siklus moving average, menyesuaikan posisi stop loss, dan mengurangi ukuran posisi dengan tepat.
Strategi ini memiliki beberapa optimasi utama:
Mengoptimalkan parameter siklus rata-rata bergerak untuk menemukan kombinasi parameter yang optimal. Dapat dioptimalkan dengan metode seperti pencarian bertahap, algoritma genetik, dll.
Menambahkan filter untuk indikator teknis lainnya, seperti KDJ, MACD, dan lain-lain, untuk meningkatkan kualitas sinyal perdagangan.
Meningkatkan pemantauan terhadap fluktuasi harga, menyesuaikan posisi dan stop loss sesuai dengan fluktuasi.
Untuk menghindari false breakout, Anda hanya perlu mengirimkan sinyal jika volume transaksi meningkat.
Mekanisme penyesuaian parameter pengembangan. Memungkinkan strategi untuk secara otomatis menyesuaikan parameter yang diambil berdasarkan kondisi pasar yang berbeda.
Strategi ini secara keseluruhan merupakan strategi yang lebih khas untuk mengikuti tren. Strategi ini didasarkan pada prinsip persilangan rata-rata bergerak, logika perdagangan sederhana dan jelas, mudah dipahami dan diterapkan. Strategi ini dapat dianggap sebagai risiko dan keuntungan, cocok untuk digunakan oleh investor dengan pengalaman perdagangan kuantitatif, tetapi perlu berhati-hati untuk mencegah potensi risiko kerugian.
/*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)