Đây là một chiến lược giao dịch ngắn hạn sử dụng khối lượng giao dịch cuối tuần tăng của Bitcoin bằng cách sử dụng đòn bẩy 10 lần. Ý tưởng chính là ghi lại giá đóng cửa thứ Sáu, so sánh giá đóng cửa hàng ngày vào thứ Bảy và Chủ nhật với giá đóng cửa thứ Sáu, và mua dài hoặc ngắn nếu ngưỡng vượt quá. Các vị trí sẽ được đóng cửa vào thứ Hai.
Chiến lược đầu tiên ghi lại giá đóng cửa thứ sáu, sau đó tính toán số ngày kể từ thứ sáu. Vào thứ bảy và chủ nhật, nếu giá đóng cửa hàng ngày cao hơn 4,5% so với giá đóng cửa thứ sáu, hãy bán ngắn; nếu giá đóng cửa hàng ngày thấp hơn 4,5% so với giá đóng cửa thứ sáu, hãy mua dài. Mỗi giao dịch sử dụng đòn bẩy 10 lần. Nếu lợi nhuận đạt 10% vốn ban đầu, hãy đóng tất cả các vị trí. Vào thứ Hai, hãy đóng tất cả các vị trí bất kể.
Cụ thể, chiến lược lấy giá đóng cửa thứ sáu, sau đó so sánh giá đóng cửa hiện tại với thứ sáu vào thứ Bảy và Chủ nhật.strategy.short
; nếu giá đóng cửa hiện tại thấp hơn 4,5% so với thứ sáu, mua dài quastrategy.long
Đòn bẩy được thiết lập thành 10x thông qualeverage
Nếu lợi nhuận đạt 10% vốn ban đầu, đóng tất cả các vị trí thông quastrategy.close_all()
Vào thứ hai, đóng tất cả các vị trí thông quastrategy.close_all()
.
Các cải tiến tiềm năng để giảm thiểu rủi ro:
Chiến lược có thể được cải thiện trong các khía cạnh sau:
Thêm các chỉ số khác để có thời gian nhập tốt hơn.
Tối ưu hóa chiến lược dừng lỗ và lấy lợi nhuận. Sử dụng dừng lại, lấy lợi nhuận theo giai đoạn vv để khóa lợi nhuận và kiểm soát rủi ro.
Điều chỉnh kích thước đòn bẩy để giảm rủi ro. Thực hiện điều chỉnh đòn bẩy năng động, giảm đòn bẩy trong quá trình rút tiền.
Thêm tiền điện tử khác. Giao dịch tiền điện tử bổ sung với các mô hình cuối tuần để điều chỉnh đa tài sản.
Sử dụng máy học để tối ưu hóa các tham số. Thu thập các bộ dữ liệu lịch sử lớn và sử dụng ML để tự động tối ưu hóa điều chỉnh tham số động.
Đây là một chiến lược giao dịch ngắn hạn điển hình sử dụng khối lượng cuối tuần tăng của Bitcoin. Nó tận dụng khối lượng cuối tuần bằng cách đánh giá xu hướng vào thứ Bảy và Chủ nhật, đi dài hoặc ngắn. Chiến lược có những lợi thế như khuếch đại lợi nhuận và kiểm soát rủi ro, nhưng cũng có một số rủi ro.
/*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()