Chiến lược đột phá dựa trên kênh Camarilla


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

Chiến lược đột phá dựa trên kênh Camarilla

Tổng quan

Chiến lược này chủ yếu dựa trên đường Camellia và đường trung bình di chuyển để đánh giá điểm đột phá của thị trường và sau đó thực hiện theo dõi xu hướng. Chiến lược này tương đối đơn giản, nhưng có tính thực tế mạnh mẽ.

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

  1. Tính toán các đường hỗ trợ và kháng cự của đường Camarela. Bao gồm các đường H4, L4 và các đường khác.

  2. Xác định liệu giá đã phá vỡ đường dẫn đó hay không. Ví dụ: giá đóng cửa vượt qua đường H4 và giá mở thấp hơn đường H4, cho rằng có tín hiệu phá vỡ.

  3. Tham gia vào phán đoán đường trung bình di chuyển, xác nhận thêm tín hiệu phá vỡ. Ví dụ: EMA thấp hơn giá đóng cửa là nhiều bước phá vỡ.

  4. Nhập vào các vị trí đa đầu, thiết lập các điều kiện dừng và dừng, chẳng hạn như thiết lập số điểm dừng cố định và theo dõi các lệnh dừng.

  5. Các nhà phân tích cũng đã đưa ra những kết luận tương tự.

Đây là logic phán đoán chính của chiến lược, tương đối đơn giản, trực quan, dễ hiểu và thực hiện. Bằng cách theo dõi động các điểm dừng lỗ, bạn có thể tiếp tục kiếm lợi nhuận cho đến khi xu hướng đảo ngược.

Phân tích lợi thế

Chiến lược này có những ưu điểm sau:

  1. Dựa trên đường Camellia, có thể xác định chính xác vị trí hỗ trợ và kháng cự tiềm năng.

  2. Kết hợp với bộ lọc thống nhất, nó có thể phân biệt hiệu quả giữa tín hiệu đột phá và tín hiệu giả.

  3. Sử dụng phương pháp theo dõi dừng lỗ, bạn có thể kiếm được lợi nhuận liên tục và tránh dừng lỗ đảo ngược.

  4. Các tín hiệu chiến lược đơn giản, rõ ràng và dễ dàng để đánh giá hoạt động.

  5. Không cần điều chỉnh tham số thường xuyên, giao dịch tự động phù hợp với tham số cố định.

Rủi ro và giải pháp

Chiến lược này cũng có những rủi ro sau:

  1. Tuy nhiên, các nhà đầu tư vẫn không thể xác định được điểm đảo ngược của xu hướng và điều này có thể dẫn đến sự mất mát lớn hơn.

    • Cách giải quyết: kết hợp các chỉ số khác như chỉ số chấn động để đánh giá xu hướng đảo ngược
  2. Các thiết lập điểm dừng theo dõi không hợp lý có thể dẫn đến dừng lỗ sớm hoặc mở rộng lỗ.

    • Giải pháp: Tối ưu hóa và thử nghiệm các thiết lập điểm dừng khác nhau
  3. Có thể có dấu hiệu đột phá giả.

    • Giải pháp: Thêm thêm các chỉ số đập sóng để xác nhận, hoặc nới lỏng các tiêu chuẩn xác định đột phá một cách thích hợp.
  4. Trong một thị trường đang bị chấn động, có nhiều vụ phá vỡ giả.

    • Giải pháp: Tránh giao dịch trong thời gian chấn động hoặc giảm bớt tiêu chuẩn phá vỡ một cách thích hợp.

Lời khuyên tối ưu hóa

Chiến lược này cũng có thể được tối ưu hóa bằng cách:

  1. Tăng chỉ số lọc tổng hợp, tăng độ chính xác đột phá. KDJ, MACD, v.v. có thể được xem xét.

  2. Tối ưu hóa chiến lược dừng lỗ, như giới thiệu dừng động, kết hợp với chỉ số ATR.

  3. Tối ưu hóa các tham số khác nhau để tăng sự ổn định.

  4. Tăng khả năng đánh giá xu hướng chu kỳ lớn, tránh giao dịch ngược.

  5. Kết hợp với phân tích số lượng trong ngày, số lượng tập trung cao có thể vượt qua.

  6. Phát triển chương trình tối ưu hóa tham số tự động, tối ưu hóa tham số theo thời gian thực.

  7. Các nhà đầu tư đã mở rộng các chiến lược của họ cho nhiều loại khác nhau, sử dụng chênh lệch giá.

Tóm tắt

Chiến lược này có ý tưởng tổng thể rõ ràng, đơn giản, thực tế và là chiến lược theo dõi đột phá điển hình. Bằng cách đánh giá kháng cự hỗ trợ tiềm năng thông qua đường Camellia, sau đó kết hợp với lọc tuyến tính để xác định hướng đột phá. Phương pháp dừng lỗ cũng hợp lý.

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

//@version=2
//Created by CristianD
strategy(title="CamarillaStrategyV1", shorttitle="CD_Camarilla_StrategyV1", overlay=true) 
//sd = input(true, title="Show Daily Pivots?")
EMA = ema(close,8)

//Camarilla
pivot = (high + low + close ) / 3.0 
range = high - low
h5 = (high/low) * close 
h4 = close + (high - low) * 1.1 / 2.0
h3 = close + (high - low) * 1.1 / 4.0
h2 = close + (high - low) * 1.1 / 6.0
h1 = close + (high - low) * 1.1 / 12.0
l1 = close - (high - low) * 1.1 / 12.0
l2 = close - (high - low) * 1.1 / 6.0
l3 = close - (high - low) * 1.1 / 4.0
l4 = close - (high - low) * 1.1 / 2.0
h6 = h5 + 1.168 * (h5 - h4) 
l5 = close - (h5 - close)
l6 = close - (h6 - close)

// Daily line breaks
//sopen = request.security(syminfo.tickerid, "D", open [1])
//shigh = request.security(syminfo.tickerid, "D", high [1])
//slow = request.security(syminfo.tickerid, "D", low [1])
//sclose = request.security(syminfo.tickerid, "D", close [1])
//
// Color
//dcolor=sopen != sopen[1] ? na : black
//dcolor1=sopen != sopen[1] ? na : red
//dcolor2=sopen != sopen[1] ? na : green

//Daily Pivots 
dtime_pivot = request.security(syminfo.tickerid, 'D', pivot[1]) 
dtime_h6 = request.security(syminfo.tickerid, 'D', h6[1]) 
dtime_h5 = request.security(syminfo.tickerid, 'D', h5[1]) 
dtime_h4 = request.security(syminfo.tickerid, 'D', h4[1]) 
dtime_h3 = request.security(syminfo.tickerid, 'D', h3[1]) 
dtime_h2 = request.security(syminfo.tickerid, 'D', h2[1]) 
dtime_h1 = request.security(syminfo.tickerid, 'D', h1[1]) 
dtime_l1 = request.security(syminfo.tickerid, 'D', l1[1]) 
dtime_l2 = request.security(syminfo.tickerid, 'D', l2[1]) 
dtime_l3 = request.security(syminfo.tickerid, 'D', l3[1]) 
dtime_l4 = request.security(syminfo.tickerid, 'D', l4[1]) 
dtime_l5 = request.security(syminfo.tickerid, 'D', l5[1]) 
dtime_l6 = request.security(syminfo.tickerid, 'D', l6[1]) 

//offs_daily = 0
//plot(sd and dtime_pivot ? dtime_pivot : na, title="Daily Pivot",color=dcolor, linewidth=2)
//plot(sd and dtime_h6 ? dtime_h6 : na, title="Daily H6", color=dcolor2, linewidth=2)
//plot(sd and dtime_h5 ? dtime_h5 : na, title="Daily H5",color=dcolor2, linewidth=2)
//plot(sd and dtime_h4 ? dtime_h4 : na, title="Daily H4",color=dcolor2, linewidth=2)
//plot(sd and dtime_h3 ? dtime_h3 : na, title="Daily H3",color=dcolor1, linewidth=3)
//plot(sd and dtime_h2 ? dtime_h2 : na, title="Daily H2",color=dcolor2, linewidth=2)
//plot(sd and dtime_h1 ? dtime_h1 : na, title="Daily H1",color=dcolor2, linewidth=2)
//plot(sd and dtime_l1 ? dtime_l1 : na, title="Daily L1",color=dcolor2, linewidth=2)
//plot(sd and dtime_l2 ? dtime_l2 : na, title="Daily L2",color=dcolor2, linewidth=2)
//plot(sd and dtime_l3 ? dtime_l3 : na, title="Daily L3",color=dcolor1, linewidth=3)
//plot(sd and dtime_l4 ? dtime_l4 : na, title="Daily L4",color=dcolor2, linewidth=2)
//plot(sd and dtime_l5 ? dtime_l5 : na, title="Daily L5",color=dcolor2, linewidth=2)
//plot(sd and dtime_l6 ? dtime_l6 : na, title="Daily L6",color=dcolor2, linewidth=2)

longCondition = close >dtime_h4 and open < dtime_h4 and EMA < close
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit ("Exit Long","Long",  trail_points = 140,trail_offset = 1, loss =170) 
    //trail_points = 40, trail_offset = 3, loss =70 and


shortCondition = close <dtime_l4 and open >dtime_l4 and EMA > close
if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit ("Exit Short","Short", trail_points = 110,trail_offset = 1, loss =120)