Chiến lược đột phá hai vị trí

Tác giả:ChaoZhang, Ngày: 2023-10-24 14:02:47
Tags:

img

Tổng quan

Chiến lược đột phá hai vị trí thực hiện theo dõi xu hướng và kiếm lợi nhuận bằng cách thiết lập các vị trí dài và ngắn đồng thời. Chiến lược này mở cả hai vị trí dài và ngắn cùng một lúc, kiếm lợi nhuận khi có sự đột phá theo cả hai hướng.

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

Logic cốt lõi của chiến lược này là:

  1. Sử dụng biến phần trăm để đặt kích thước vị trí thành 10%.

  2. Sử dụng bar_index để xác định xem thanh hiện tại là thanh lẻ hay lẻ.

  3. Nếu đó là một thanh thậm chí, thực hiện vị trí mở dài logic. Sử dụng alert_message để gửi một thông báo webhook với thông tin như vị trí mở, lấy lợi nhuận và giá dừng lỗ, vv. Mở vị trí dài thông qua chiến lược. entry.

  4. Nếu đó là một thanh lẻ, thực hiện các vị trí mở ngắn logic.

  5. Sau khi mở ngắn, sử dụng cảnh báo để gửi một thông báo webhook với thông tin như đóng vị trí, lấy lợi nhuận và giá dừng lỗ, vv. Đóng vị trí dài trước đó thông qua cảnh báo.

Chiến lược này có thể lợi nhuận từ cả hai bên dài và ngắn bằng cách thiết lập các vị trí ở cả hai bên. Nó có thể kiếm được lợi nhuận khi có một bước đột phá theo cả hai hướng. Khi có một bước đột phá xu hướng, nó lợi nhuận từ phía có vị trí được thiết lập trong khi phía đối diện bị dừng lại, nhận ra xu hướng theo.

Phân tích lợi thế

Những lợi thế của chiến lược này là:

  1. Nó có thể lợi nhuận từ cả hai chuyển động thị trường dài và ngắn. Có cơ hội để mở các vị trí và kiếm lợi nhuận cho dù thị trường tăng hoặc giảm.

  2. Bằng cách thiết lập các vị trí ở cả hai bên, nó có thể sử dụng đầy đủ vốn để giao dịch.

  3. Sau khi thiết lập hai vị trí, nó có thể theo xu hướng kịp thời khi có một bước đột phá.

  4. Nó áp dụng stop loss để dừng lại kịp thời và kiểm soát rủi ro.

  5. Được sử dụng với webhook và API trao đổi, nó nhận ra giao dịch tự động.

Phân tích rủi ro

Ngoài ra còn có một số rủi ro với chiến lược này:

  1. Khi thị trường bị giới hạn trong phạm vi, cả hai vị trí có thể bị mắc kẹt.

  2. Chi phí giao dịch cao hơn. Mở hai hướng dẫn đến chi phí giao dịch cao hơn.

  3. Cần phải tìm ra các sản phẩm phù hợp để giao dịch.

  4. Cần phải theo dõi thị trường chặt chẽ và điều chỉnh vị trí kịp thời.

  5. Kích thước vị trí cần phải được thiết lập chính xác.

Hướng dẫn tối ưu hóa

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

  1. Điều chỉnh kích thước vị trí dựa trên các đặc điểm sản phẩm khác nhau.

  2. Tối ưu hóa thuật toán dừng lỗ để giảm các kích hoạt dừng lỗ không cần thiết trong khi đảm bảo dừng lỗ hiệu quả.

  3. Bao gồm các chỉ số xu hướng để xác định hướng xu hướng tổng thể, tần suất giao dịch và chi phí thấp hơn.

  4. Thêm các điều kiện nhập lại để mở lại các vị trí sau khi dừng lỗ.

  5. Sử dụng lệnh giới hạn thay vì lệnh thị trường để vào thị trường với giá phù hợp.

  6. Tối ưu hóa quản lý vốn để phù hợp với kích thước vị trí theo quy mô tài khoản.

Kết luận

Chiến lược đột phá hai vị trí có lợi nhuận bằng cách theo xu hướng khi có đột phá sau khi thiết lập hai vị trí dài và ngắn. Nó có thể sử dụng đầy đủ vốn và nắm bắt cơ hội đột phá kịp thời. Nhưng rủi ro các vị trí kép bị mắc kẹt cần phải được ngăn chặn. Việc dừng lỗ hợp lý và quản lý vị trí là rất quan trọng. Với tối ưu hóa liên tục, chiến lược này có thể trở thành một hệ thống đột phá rất thực tế.


/*backtest
start: 2023-10-16 00:00:00
end: 2023-10-23 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Crypto-Arsenal

//@version=5
// strategy("Buy One Sell One", overlay = false, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

percent = str.tostring(10)
cls = str.tostring(close)
tp = str.tostring(strategy.position_avg_price * (1 + 0.1))
sl = str.tostring(strategy.position_avg_price * (1 - 0.1))
    
if(bar_index % 2 == 0)
    // DEMO FOR SENDING MESSAGE WITH alert_message()
    // NEED TO ADD {{{strategy.order.alert_message}} to Message field at Create Alert box 
    
    // Add "limit" to open a LIMIT order instead of default MARKET
    alert_message = '{"action":"openLong","percent":"' + percent + '","profit":"' + tp + '","loss":"' + sl + '","connectorName":"YOUR_CONNECTOR_NAME","connectorToken":"YOUR_CONNECTOR_TOKEN","log":"Open Long at price:' + cls + '"}'
    strategy.entry('Enter Long',  strategy.long, alert_message = alert_message)
else
    // DEMO FOR SENDING MESSAGE WITH alert() 

    strategy.entry('Enter Short', strategy.short)
    // Add "limit" to open a LIMIT order instead of default MARKET
    alert_message = '{"action":"closeLong","percent":"' + percent + '","profit":"' + sl + '","loss":"' + tp + '","connectorName":"YOUR_CONNECTOR_NAME","connectorToken":"YOUR_CONNECTOR_TOKEN","log":"Close long at price:' + cls + '"}'
    alert(alert_message, alert.freq_once_per_bar)

Thêm nữa