
Chiến lược này là một chiến lược sử dụng Bitcoin để giao dịch ngắn vào cuối tuần, giao dịch bằng cách sử dụng đòn bẩy 10 lần. Ý tưởng chính của chiến lược là ghi lại giá khi kết thúc vào thứ Sáu, sau đó so sánh giá đóng cửa ngày hôm đó và giá đóng cửa vào thứ Bảy và chủ nhật, tăng hoặc giảm nếu vượt quá mức giảm giá, hoặc tháo dỡ vào thứ Hai.
Chiến lược này bắt đầu bằng việc ghi lại giá đóng cửa vào thứ Sáu, sau đó tính toán số ngày từ ngày hôm nay đến thứ Sáu. Vào thứ Bảy và Chủ nhật, nếu giá đóng cửa ngày hôm đó tăng hơn 4,5% so với giá đóng cửa thứ Sáu, hãy làm cho nó trống; nếu giá đóng cửa ngày hôm đó giảm hơn 4,5% so với giá đóng cửa thứ Sáu, hãy làm thêm.
Cụ thể, chiến lược này được thực hiện bằng cách lấy giá đóng cửa vào thứ Sáu và sau đó so sánh giá đóng cửa hiện tại với giá đóng cửa vào thứ Sáu. Nếu giá đóng cửa hiện tại tăng hơn 4,5% so với giá đóng cửa vào thứ Sáu, chiến lược này được thực hiện bằng cách lấy giá đóng cửa vào thứ Sáu và sau đó so sánh giá đóng cửa hiện tại với giá đóng cửa vào thứ Sáu.strategy.shortNếu giá đóng cửa hiện tại giảm hơn 4,5% so với giá đóng cửa hôm thứ Sáu, nó sẽ được thông qua.strategy.longLàm nhiều hơn nữa.leverageCác tham số được thiết lập để đòn bẩy là 10 lần. Nếu lợi nhuận đạt 10% vốn đầu tư ban đầu, nó sẽ được thông quastrategy.close_all()Tất cả các vị trí trong vị trí bình thường.strategy.close_all()Bỏ qua tất cả các vị trí
Các biện pháp tối ưu hóa sau đây có thể được xem xét để đối phó với rủi ro:
Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Thêm các chỉ số khác để đánh giá, tối ưu hóa lựa chọn điểm vào. Có thể kết hợp với đường trung bình di chuyển, RSI và các chỉ số lọc thời gian vào, tăng độ chính xác vào.
Tối ưu hóa chiến lược dừng lỗ, khóa lợi nhuận, kiểm soát rủi ro bằng cách di chuyển dừng lỗ, dừng hàng loạt.
Điều chỉnh kích thước đòn bẩy để giảm rủi ro. Có thể thiết lập tỷ lệ đòn bẩy điều chỉnh động để giảm đòn bẩy khi rút.
Thêm nhiều loại giao dịch. Bạn có thể thêm các loại tiền điện tử phổ biến khác, sử dụng tính năng giao dịch cuối tuần của chúng để giao dịch nhiều loại.
Sử dụng thuật toán học máy để tối ưu hóa tham số. Bạn có thể thu thập nhiều dữ liệu lịch sử, sử dụng thuật toán học máy để tự động tối ưu hóa tham số, thực hiện điều chỉnh động của tham số.
Chiến lược nà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 giao dịch lớn của Bitcoin vào cuối tuần. Chiến lược sử dụng khối lượng giao dịch lớn của Bitcoin vào cuối tuần, đánh giá xu hướng vào thứ Bảy, làm nhiều hoặc làm rỗng. Chiến lược có lợi thế tăng lợi nhuận, kiểm soát rủi ro, nhưng cũng có một số rủi ro. Bước tiếp theo có thể được tối ưu hóa từ các khía cạnh như nhập cảnh, dừng lỗ, quản lý đòn bẩy, mở rộng giống, để chiến lược trở nên ổn định và thông minh hơn.
/*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()