Chiến lược giao dịch cuối tuần


Ngày tạo: 2023-11-14 11:29:12 sửa đổi lần cuối: 2023-11-14 11:29:12
sao chép: 0 Số nhấp chuột: 669
1
tập trung vào
1621
Người theo dõi

Chiến lược giao dịch cuối tuần

Tổng quan

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.

Nguyên tắc chiến lược

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í

Phân tích lợi thế

  • Sử dụng tính năng tăng khối lượng giao dịch cuối tuần của Bitcoin, giao dịch ngắn vào cuối tuần có thể bắt được xu hướng ngắn hạn vào cuối tuần
  • Giao dịch với đòn bẩy gấp 10 lần để tăng lợi nhuận
  • Thiết lập các điều kiện dừng, có lợi cho việc dừng lại kịp thời, tránh sự gia tăng lỗ
  • Báo cáo báo chí của Trung Quốc cho biết, các nhà đầu tư sẽ tiếp tục giảm bớt các khoản đầu tư của họ vào ngày thứ Hai để tránh rủi ro do biến động lớn trong ngày mở cửa.

Phân tích rủi ro

  • Giá Bitcoin biến động mạnh vào cuối tuần, có nguy cơ thua lỗ
  • 10 lần đòn bẩy sẽ làm tăng tổn thất
  • Thiết lập dừng lỗ không đúng có thể gây ra tổn thất lớn hơn
  • Các nhà đầu tư đã có những đợt biến động mạnh mẽ trong ngày khai trương, có thể sẽ không thể dừng lại hoàn toàn.

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:

  1. Thiết lập điểm dừng lỗ, kiểm soát tổn thất đơn lẻ
  2. Điều chỉnh hệ số đòn bẩy để giảm rủi ro.
  3. Tối ưu hóa thiết lập điểm dừng, dừng hàng loạt khi thu nhập đạt tỷ lệ nhất định.
  4. Đặt khối lượng giao dịch hoặc thời gian dừng trước khi mở cửa vào thứ Hai để tránh biến động dữ dội của ngày mở cửa thứ Hai.

Hướng tối ưu hóa

Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:

  1. 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.

  2. 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.

  3. Đ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.

  4. 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.

  5. 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ố.

Tóm tắt

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.

Mã nguồn chiến lược
/*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()