Chiến lược Camarilla Pivot Breakout là một chiến lược giao dịch định lượng sử dụng các mức pivot Camarilla để vào và ra. Chiến lược này dựa trên các lý thuyết hỗ trợ và kháng cự phân tích kỹ thuật truyền thống, kết hợp các công thức toán học Camarilla để tính điểm pivot ở các khung thời gian khác nhau, và thiết lập các mức đột phá của các mức chính này như là điều kiện mở và đóng giao dịch, để đạt được lợi nhuận vượt quá.
Lý thuyết cốt lõi của chiến lược này là: tính toán H4 và L4, hai mức hỗ trợ và kháng cự chính, từ công thức Camarilla trong khung thời gian hàng ngày; tạo ra tín hiệu giao dịch khi giá phá vỡ hai mức này.
Cụ thể, chiến lược đầu tiên tính điểm giữa giá cao nhất, thấp nhất và đóng cửa của thanh hiện tại như điểm xoay. Sau đó nó tính phạm vi giá. Dựa trên phạm vi, các mức Camarilla khác nhau có thể được vẽ, bao gồm H4, H3, H2, H1 và L1, L2, L3, L4. Trong số đó, H4 là kháng cự đầu tiên và L4 là hỗ trợ đầu tiên.
Đối với tín hiệu giao dịch, nếu giá đóng phá vỡ trên mức H4, nó sẽ kích hoạt tín hiệu dài; nếu giá đóng phá vỡ dưới L4, nó sẽ kích hoạt tín hiệu ngắn.
Vì vậy, logic chính là: sử dụng mức Camarilla để xác định cấu trúc thị trường và nhận tín hiệu giao dịch.
Chiến lược thoát khỏi Camarilla này có một số điểm mạnh chính:
Phân tích Camarilla sử dụng các khái niệm hỗ trợ / kháng cự cổ điển.
So với các mô hình học máy, các quy tắc Camarilla rất đơn giản với ít số liệu có thể điều chỉnh, dễ hiểu và thực hiện trong giao dịch trực tiếp, đặc biệt là cho người mới bắt đầu.
Theo dõi H4/L4 breakout trực tiếp chuyển thành các mục nhập giao dịch. tín hiệu chiến lược là sắc nét và mã là đơn giản. Điều này cho phép tạo ra nguyên mẫu nhanh từ ý tưởng đến giao dịch trực tiếp.
Chiến lược Camarilla hoạt động cho các giao dịch tần số cao (thứ hai, phút) và tần số thấp (ngày, hàng tuần).
Tuy nhiên, một chiến lược thoát đơn giản như vậy có một số điểm yếu vốn có:
Giá có thể thất bại trong xu hướng sau khi phá vỡ và đảo ngược thay vào đó. Không cắt giảm lỗ kịp thời có thể dẫn đến giảm lớn. Chúng ta cần các biện pháp bảo vệ chống lại các tín hiệu sai.
Theo dõi chỉ giá đóng cửa có thể gây ra việc bỏ lỡ breakout tiềm năng trong thời gian thanh trước đó.
So với các mô hình phức tạp hơn, sự phụ thuộc hoàn toàn vào Camarilla có thể hạn chế lợi nhuận và phạm vi.
Do đó, quản lý rủi ro thông qua dừng lỗ, tối ưu hóa logic nhập cảnh và điều chỉnh kích thước vị trí là cần thiết để đảm bảo độ bền của phương pháp thoát đơn giản như vậy.
Để tối ưu hóa thêm chiến lược thoát khỏi Camarilla này, chúng ta có thể tập trung vào những điều sau:
Kết hợp khối lượng, đường trung bình động, v.v. để đánh giá tính xác thực của sự đột phá và tránh các tín hiệu sai.
Giống như làm dịu kích thước của sự đột phá thông qua backtests để tìm điểm ngọt ngào hoặc thêm nhiều quy tắc dựa trên tính theo mùa.
Tắt chặt phạm vi dừng lỗ trong khi tránh dừng sớm hoặc các lớp thay thế như dừng lỗ.
Điều chỉnh thích nghi các vị trí và các tham số đòn bẩy để phù hợp với các chế độ thị trường đang phát triển.
Tận dụng các mô hình LSTM, RNN để dự đoán xác suất thoát và tăng cường tình báo.
Chiến lược Camarilla Pivot Breakout là một chiến lược giao dịch định lượng đơn giản và trực tiếp dễ thực hiện. Nó sử dụng các công cụ phân tích kỹ thuật trưởng thành và tạo ra các tín hiệu giao dịch bằng cách nắm bắt sự phá vỡ của các mức hỗ trợ và kháng cự chính.
/*backtest start: 2023-12-27 00:00:00 end: 2024-01-03 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //Created by CristianD strategy(title="CamarillaStrategy", shorttitle="CD_Camarilla_Strategy", overlay=true) //sd = input(true, title="Show Daily Pivots?") EMA = ema(close,3) //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 if (longCondition) strategy.entry("My Long Entry Id", strategy.long) shortCondition = close <dtime_l4 if (shortCondition) strategy.entry("My Short Entry Id", strategy.short)