Chiến lược đột phá kênh Donshian


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

Tổng quan

Chiến lược này dựa trên chỉ số kênh Tonian, sử dụng đường dẫn giá phá vỡ đường dẫn lên xuống như một cách tín hiệu giao dịch, thực hiện hoạt động theo dõi xu hướng của các giống như stock / futures / crypto / forex, thuộc chiến lược phá vỡ xu hướng của các vị trí trung bình dài.

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

  1. Tính toán giá cao nhất và giá thấp nhất trong một chu kỳ nhất định (ví dụ: 20 ngày) để có được đường ray trên và đường ray dưới của kênh Tôn Hiên.

  2. Đường trung tâm của đường dẫn là giá trị trung bình của đường ray lên xuống. Đường ray trên là tín hiệu chuyển động xu hướng, đường ray dưới là tín hiệu chuyển hướng.

  3. Khi giá đóng cửa phá vỡ đường đua, hãy đánh giá nó là một xu hướng và tham gia nhiều hơn.

  4. Khi giá giảm xuống đường trung bình, bạn sẽ bị loại.

  5. Có thể tham khảo các giai đoạn thời gian để tạo ra tín hiệu giao dịch thực tế.

  6. Tùy chọn, có thể có dấu hiệu dừng bằng cách phá vỡ đường ray giá.

Chiến lược này được khởi động bằng cách phá vỡ xu hướng phán đoán kênh, lấy điểm thoát bằng đường trung tâm, và bắt giữ xu hướng đường dài giữa. Các tham số kênh có thể được điều chỉnh để phù hợp với thị trường.

Phân tích lợi thế

  1. Các con đường Đôn Hiên được tính toán đơn giản và các chỉ số dễ thực hiện.

  2. Giá phá vỡ kênh có thể xác định xu hướng thay đổi.

  3. Đường trung tâm của đường dẫn được sử dụng như một điểm dừng, thiết lập hợp lý.

  4. Các quy tắc của tín hiệu giao dịch rất rõ ràng và dễ thực hiện.

  5. Có thể điều chỉnh các thông số kênh một cách linh hoạt để phù hợp với nhiều giống và chu kỳ.

  6. Có thể đánh giá hiệu quả của giao dịch đường dài hoặc đường ngắn.

  7. Không gian mở rộng, có thể giới thiệu các chỉ số kỹ thuật khác.

Phân tích rủi ro

  1. Có nguy cơ bị trì hoãn và bỏ lỡ cơ hội sớm để đột phá.

  2. Không tính đến sự quay lưng trước khi đột phá, có thể tạo ra tín hiệu sai.

  3. Giới hạn dừng của đường trung tâm là cố định, nhạy cảm với các cú sốc của thị trường.

  4. Việc chọn không đúng chu kỳ phản hồi có thể dẫn đến quá phù hợp.

  5. Không có chiến lược dừng lỗ, cần chú ý đến nguy cơ gia tăng lỗ.

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

  1. Thử nghiệm tối ưu hóa thông số chu kỳ kênh.

  2. Đánh giá các loại trung bình di chuyển khác như là điểm dừng.

  3. Điều kiện lọc các chỉ số như tăng giao dịch.

  4. Thiết lập chiến lược dừng lỗ di động hoặc theo dõi dừng lỗ

  5. Giới thiệu máy học dự đoán giá đột phá.

  6. Tối ưu hóa chiến lược quản lý tài chính, thiết lập tỷ lệ lợi nhuận.

  7. Cân nhắc về hoạt động hỗn hợp đường dài ngắn hoặc kết hợp nhiều giống.

Tóm tắt

Chiến lược này dựa trên kênh Tôn Hiên, đánh giá hướng xu hướng, để hoạt động đột phá, thuộc chiến lược theo dõi xu hướng đường dài trung bình điển hình. Tối ưu hóa tham số kênh và hỗ trợ với các chỉ số kỹ thuật khác, có thể tạo ra một hệ thống đột phá ổn định hơn. Chiến lược này đơn giản, rõ ràng, có thể mở rộng, có thể được sử dụng như một mô-đun chiến lược cơ bản cho giao dịch định lượng, có tính thực tế tốt.

Mã nguồn chiến lược
/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-15 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//future strategy
//strategy(title = "stub", default_qty_type = strategy.fixed, default_qty_value = 1,  overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=2)
//stock strategy
strategy(title = "dc", default_qty_type = strategy.percent_of_equity, default_qty_value = 100,  overlay = true, commission_type=strategy.commission.cash_per_contract,commission_value=.005)
//forex strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 100,  overlay = true)
//crypto strategy
//strategy(title = "stub", default_qty_type = strategy.percent_of_equity, default_qty_value = 100,  overlay = true, commission_type=strategy.commission.percent,commission_value=.25,default_qty_value=10000)


testStartYear = input(2000, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testEndYear = input(2018, "Backtest Start Year")
testEndMonth = input(12, "Backtest Start Month")
testEndDay = input(1, "Backtest Start Day")
testPeriodEnd = timestamp(testStartYear,testStartMonth,testStartDay,0,0)


testPeriod() =>
    true
    //time >= testPeriodStart  ? true : false

dcPeriod = 20

dcUpper = highest(close, dcPeriod)[1]
dcLower = lowest(close, dcPeriod)[1]
dcAverage = (dcUpper + dcLower) / 2

plot(dcLower, style=line, linewidth=3, color=red, offset=1)
plot(dcUpper, style=line, linewidth=3, color=aqua, offset=1)

plot(dcAverage, color=yellow, style=line, linewidth=1, title="Mid-Line Average")

strategy.entry("simpleBuy", strategy.long, when=close >= dcUpper)
strategy.close("simpleBuy",when=close < dcAverage)
    
//strategy.entry("simpleSell", strategy.short,when=close <= dcLower)
//strategy.close("simpleSell",when=close > dcAverage)