
Strategi ini adalah strategi yang menggunakan Bitcoin untuk melakukan perdagangan pendek pada hujung minggu, menggunakan 10 kali ganda untuk perdagangan. Gagasan utama strategi ini adalah untuk mencatat harga pada penutupan hari Jumaat, kemudian membandingkan kenaikan dan penurunan harga penutupan hari itu dan penutupan hari Jumaat pada hari Sabtu dan Ahad, dan jika melebihi penurunan nilai, melakukan lebih banyak atau lebih banyak, dan meratakan kedudukan pada hari Isnin.
Strategi ini pertama-tama mencatat harga penutupan pada hari Jumaat, dan kemudian mengira jumlah hari dari hari Jumaat. Pada hari Sabtu dan Ahad, jika harga penutupan pada hari itu meningkat lebih dari 4.5% daripada harga penutupan pada hari Jumaat, ia akan kosong; jika harga penutupan pada hari itu jatuh lebih dari 4.5% daripada harga penutupan pada hari Jumaat, ia akan lebih banyak.
Secara khusus, strategi ini dilakukan dengan mengambil harga penutupan pada hari Jumaat, kemudian membandingkan kenaikan dan penurunan harga penutupan semasa dengan harga penutupan pada hari Jumaat pada hari Sabtu. Jika harga penutupan semasa meningkat lebih dari 4.5% berbanding harga penutupan pada hari Jumaat, maka strategi ini digunakan untuk membandingkan kenaikan dan penurunan harga penutupan semasa dengan harga penutupan pada hari Sabtu.strategy.shortJika harga penutupan hari ini turun lebih daripada 4.5% berbanding harga penutupan hari Jumaat, maka ia akan diluluskan.strategy.longMelaluileverageParameter yang ditetapkan adalah 10 kali ganda Leverage. Jika keuntungan mencapai 10% daripada modal awal, makastrategy.close_all()Semua kedudukan kosong. Pada hari Isnin, melaluistrategy.close_all()Menghapuskan semua kedudukan.
Mengenai risiko, langkah-langkah pengoptimuman berikut boleh dipertimbangkan:
Strategi ini boleh dioptimumkan dalam beberapa aspek:
Menambah penilaian indikator lain, mengoptimumkan pemilihan titik masuk. Ia boleh digabungkan dengan purata bergerak, RSI dan penapis indikator masa masuk, meningkatkan ketepatan masuk.
Mengoptimumkan strategi hentian kerugian, mengunci keuntungan dan mengawal risiko melalui hentian bergerak, hentian berturut-turut dan sebagainya.
Menyesuaikan saiz levera untuk mengurangkan risiko. Anda boleh menetapkan kadar levera yang disesuaikan secara dinamik untuk mengurangkan levera semasa penarikan balik.
Tambah pelbagai jenis perdagangan. Anda boleh menambah mata wang kripto lain yang biasa, menggunakan ciri-ciri perdagangan hujung minggu mereka, untuk melakukan pelbagai jenis perdagangan.
Parameter pengoptimuman menggunakan algoritma pembelajaran mesin. Ia boleh mengumpul banyak data sejarah, mengoptimumkan parameter secara automatik menggunakan algoritma pembelajaran mesin, dan menyesuaikan parameter secara dinamik.
Strategi ini adalah strategi perdagangan garis pendek yang tipikal yang memanfaatkan peningkatan jumlah perdagangan hujung minggu Bitcoin. Strategi menggunakan peningkatan jumlah perdagangan hujung minggu Bitcoin, menilai trend pada hari Sabtu, melakukan over atau short. Strategi ini mempunyai kelebihan seperti peningkatan pendapatan, kawalan risiko, tetapi juga terdapat risiko tertentu.
/*backtest
start: 2023-10-14 00:00:00
end: 2023-11-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
//Copyright Boris Kozak
strategy("XBT Weekend Trade Strategy", overlay=false)
leverage = input(10,"Leverage")
profitTakingPercentThreshold = input(0.10,"Profit Taking Percent Threshold")
//****Code used for setting up backtesting.****///
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(12, "Backtest Start Month")
testStartDay = input(10, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2025, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FFFF : na
bgcolor(testPeriodBackgroundColor, transp=50)
testPeriod() => true
//****END Code used for setting up backtesting.****///
//*** Main entry point is here***//
// Figure out how many days since the Friday close
days_since_friday = if dayofweek == 6
0
else
if dayofweek == 7
1
else
if dayofweek == 1
2
else
if dayofweek == 2
3
else
if dayofweek == 3
4
else
if dayofweek == 4
5
else
6
// Grab the Friday close price
fridaycloseprice = request.security(syminfo.tickerid,'D',close[days_since_friday])
plot(fridaycloseprice)
strategy.initial_capital = 50000
// Only perform backtesting during the window specified
if testPeriod()
// If we've reached out profit threshold, exit all positions
if ((strategy.openprofit/strategy.initial_capital) > profitTakingPercentThreshold)
strategy.close_all()
// Only execute this trade on saturday and sunday (UTC)
if (dayofweek == 7.0 or dayofweek == 1.0)
// Begin - Empty position (no active trades)
if (strategy.position_size == 0)
// If current close price > threshold, go short
if ((close>fridaycloseprice*1.045))
strategy.entry("Short Entry", strategy.short, leverage)
else
// If current close price < threshold, go long
if (close<(fridaycloseprice*0.955))
strategy.entry("Long Entry",strategy.long, leverage)
// Begin - we already have a position
if (abs(strategy.position_size) > 0)
// We are short
if (strategy.position_size < 0)
if ((close>strategy.position_avg_price*1.045))
// Add to the position
strategy.entry("Adding to Short Entry", strategy.short, leverage)
else
strategy.entry("Long Entry",strategy.long,leverage)
// On Monday, if we have any open positions, close them
if (dayofweek==2.0)
strategy.close_all()