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


Ngày tạo: 2023-10-24 14:02:47 sửa đổi lần cuối: 2023-10-24 14:02:47
sao chép: 1 Số nhấp chuột: 633
1
tập trung vào
1617
Người theo dõi

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

Tổng quan

Chiến lược phá vỡ hai vị trí là một chiến lược giao dịch có lợi nhuận theo xu hướng bằng cách tạo vị trí đồng thời ở cả hai bên của xu hướng giảm. Chiến lược này đồng thời tạo ra nhiều vị trí và vị trí trống, kiếm lợi nhuận khi phá vỡ lên hoặc xuống.

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

Lập luận cốt lõi của chiến lược này là:

  1. Sử dụng biến số phần trăm để thiết lập kích thước vị trí là 10%.

  2. Sử dụng bar_index để xác định xem hiện tại là dòng K gốc chẵn hay K gốc lẻ.

  3. Nếu là một dòng K số chẵn, hãy thực hiện logic mở nhiều vị trí. Sử dụng alert_message để gửi thông báo webhook, bao gồm thông tin mở vị trí, giá dừng lỗ, v.v.

  4. Nếu là một dòng K gốc lẻ, thì thực hiện logic mở kho trống.

  5. Sau khi mở vị trí trống, sử dụng alert để gửi thông tin webhook, bao gồm thông tin về vị trí trống, giá dừng lỗ, v.v.

Chiến lược này có thể tạo ra lợi nhuận bằng cách tạo vị trí trên cả hai bên của xu hướng tăng và giảm, cho dù thị trường đang tăng hay giảm. Khi thị trường có đột phá, lợi nhuận bằng cách tạo vị trí trên hướng đột phá, trong khi các vị trí theo hướng ngược lại bị dừng và thanh toán, theo dõi xu hướng.

Phân tích lợi thế

Chiến lược này có những lợi thế sau:

  1. Có thể cùng một lúc kiếm lợi nhuận từ cả hai chiều của thị trường. Bất kể thị trường tăng hay giảm, có cơ hội để tạo ra lợi nhuận.

  2. Bằng cách đặt hàng cùng một lúc ở cả hai bên của đợt giảm giá, bạn có thể tận dụng tối đa số tiền để giao dịch. Không có trường hợp đặt hàng chỉ ở một hướng duy nhất.

  3. Sau khi thiết lập vị thế hai chiều, bạn có thể theo dõi ngay lập tức khi có sự đột phá, theo dõi xu hướng.

  4. Sử dụng tracking stop loss, có thể dừng lỗ kịp thời, kiểm soát rủi ro.

  5. Sử dụng webhook kết hợp với API của sàn giao dịch, giao dịch có thể được tự động hóa.

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro:

  1. Trong thời gian bất ổn, hai vị trí có thể bị giam giữ cùng một lúc. Cần thiết lập vị trí dừng lỗ hợp lý để kiểm soát rủi ro.

  2. Chi phí giao dịch cao hơn.

  3. Cần tìm kiếm các giống thích hợp để giao dịch. Không nên có sự biến động quá lớn hoặc quá nhỏ.

  4. Các nhà lãnh đạo cần phải theo dõi chặt chẽ và điều chỉnh vị trí của mình kịp thời.

  5. Kích thước vị trí cần được thiết lập chính xác. Vị trí quá lớn, rủi ro quá cao; vị trí quá nhỏ, lợi nhuận hạn chế.

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. Điều chỉnh kích thước của vị trí tùy theo đặc điểm của các giống khác nhau. Đối với các giống có biến động lớn, vị trí có thể được thu nhỏ thích hợp.

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

  3. Kết hợp với các chỉ số xu hướng, đánh giá xu hướng chính của thị trường, giảm tần suất giao dịch, giảm phí giao dịch.

  4. Thêm điều kiện nhập lại, có thể nhập lại sau khi dừng lỗ, tăng cơ hội kiếm tiền.

  5. Đặt giá giới hạn thay vì giá thị trường, có thể vào sân với giá phù hợp.

  6. Tối ưu hóa quản lý tài chính, để kích thước vị trí phù hợp với số tiền tài khoản.

Tóm tắt

Chiến lược phá vỡ hai vị trí bằng cách tạo ra nhiều vị trí hai chiều trống cùng một lúc, theo dõi xu hướng khi có đột phá. Chiến lược này có thể tận dụng tối đa vốn và nắm bắt cơ hội phá vỡ kịp thời. Nhưng cũng cần phải bảo vệ rủi ro của hai vị trí cùng lúc, thiết lập dừng lỗ và quản lý vị trí hợp lý là rất quan trọng. Bằng cách 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 phá vỡ rất thực tế.

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