
Strategi ini adalah berdasarkan prinsip penyambungan rata-rata bergerak Bitcoin yang direka untuk mengikuti trend strategi perdagangan. Strategi ini menggunakan persilangan rata-rata bergerak cepat dan rata-rata bergerak perlahan sebagai isyarat membeli dan menjual. Apabila melintasi rata-rata bergerak perlahan di atas rata-rata bergerak cepat, anggap sebagai garpu emas, lakukan lebih banyak; apabila melintasi rata-rata bergerak perlahan di bawah rata-rata bergerak cepat, anggap sebagai garpu mati, lakukan kosong.
Strategi ini berdasarkan kepada dua indikator:
Moving Average (MA): Pengiraan purata harga penutupan dalam tempoh tertentu untuk menentukan pergerakan harga dan isyarat untuk berbalik.
Indeks Kekuatan Relatif (RSI): Mengira kadar kejatuhan harga saham dalam tempoh tertentu, untuk menilai kawasan yang terlalu banyak dibeli dan terlalu banyak dijual.
Khususnya, strategi menggunakan MA yang lebih pendek sebagai garis cepat dan MA yang lebih panjang sebagai garis lambat. Apabila ia melintasi garis perlahan pada garis cepat, ia menunjukkan kenaikan harga jangka pendek yang dipercepat, menghasilkan isyarat membeli; apabila ia melintasi garis pendek di bawah garis lambat, ia menunjukkan kenaikan harga jangka pendek yang dipercepat, menghasilkan isyarat menjual.
Pada masa yang sama, strategi ini juga menetapkan nilai terendah RSI, hanya menghasilkan isyarat beli apabila RSI lebih tinggi daripada 50, dan menghasilkan isyarat jual apabila RSI lebih rendah daripada 50, untuk mengelakkan pelarian masuk ketika harga turun naik dengan kuat.
Strategi ini mempunyai kelebihan berikut:
Strategi ini mempunyai beberapa risiko:
Untuk mengurangkan risiko, disarankan untuk mengoptimumkan parameter kitaran purata bergerak, menyesuaikan kedudukan hentian, dan mengurangkan saiz kedudukan dengan sewajarnya. Penggunaan strategi ini harus ditangguhkan apabila terdapat perubahan besar dalam asas.
Strategi ini mempunyai beberapa penyesuaian utama:
Mengoptimumkan parameter kitaran purata bergerak untuk mencari kombinasi parameter yang terbaik. Ia boleh dioptimumkan melalui kaedah seperti carian beransur-ansur, algoritma genetik dan sebagainya.
Menambah penapis untuk petunjuk teknikal lain seperti KDJ, MACD dan lain-lain untuk meningkatkan kualiti isyarat perdagangan.
Meningkatkan pemantauan terhadap turun naik harga, menyesuaikan kedudukan dan hentikan kerugian mengikut kadar turun naik.
Menggabungkan jumlah urus niaga, untuk mengelakkan penembusan palsu. Hanya isyarat apabila jumlah urus niaga meningkat.
Mekanisme penyesuaian parameter pembangunan. Ia membolehkan strategi menyesuaikan nilai parameter secara automatik mengikut keadaan pasaran yang berbeza.
Strategi ini secara keseluruhan adalah strategi yang lebih tipikal untuk mengikuti trend. Berdasarkan prinsip persilangan purata bergerak, logik perdagangan sederhana dan jelas, mudah difahami dan dilaksanakan. Di samping itu, penggabungan indikator RSI dapat mengelakkan perdagangan yang tidak rasional. Strategi ini boleh dianggap sebagai risiko dan keuntungan, sesuai untuk digunakan oleh pelabur dengan pengalaman perdagangan kuantitatif, tetapi perlu berhati-hati untuk mengelakkan 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)