CCI Xu hướng vượt qua không theo chiến lược

Tác giả:ChaoZhang, Ngày: 2023-09-28 16:00:36
Tags:

Tổng quan

Chiến lược này sử dụng các đường băng bằng không của chỉ số CCI như là tín hiệu nhập và xuất để nắm bắt hướng xu hướng. Nó đi dài khi CCI vượt qua trên 0 từ vùng âm, và đi ngắn khi CCI vượt qua dưới 0 từ vùng dương, để theo xu hướng.

Chiến lược logic

  • Sử dụng 20 giai đoạn cho chỉ số CCI.
  • Khi CCI vượt trên 0, mua dài với stop loss ở -100.
  • Khi CCI vượt dưới 0, đi ngắn với stop loss ở mức 100.
  • Ra khi CCI vượt qua mức 0.

Khi CCI đi từ khu vực tiêu cực sang khu vực tích cực, nó chỉ ra rằng giá đã di chuyển ra khỏi khu vực bán quá mức và có thể bắt đầu xu hướng tăng. Khi CCI đi từ khu vực tích cực sang khu vực tiêu cực, nó chỉ ra rằng giá đã di chuyển ra khỏi khu vực mua quá mức và có thể bắt đầu xu hướng giảm.

Phân tích lợi thế

  • Sử dụng các đường ngang không CCI để xác định hướng xu hướng là một ứng dụng cổ điển của chỉ số.
  • Chiều dài CCI thích hợp lọc ra tiếng ồn và bắt được các điểm thay đổi xu hướng lớn.
  • Chỉ có một mục nhập mỗi xu hướng, với các điểm dừng, giảm quá mức giao dịch, tập trung tiền cho những chiến thắng lớn.
  • Các thông số CCI và khoảng cách dừng được tối ưu hóa để phổ biến tốt hơn.

Phân tích rủi ro

  • CCI có thể đưa ra tín hiệu băng qua sai, gây ra tổn thất không cần thiết.
  • Khoảng cách dừng mất không đúng có thể quá rộng hoặc quá hẹp.
  • Độ dài CCI sai có thể lọc ra các cơ hội ngắn hạn hữu ích.
  • Có nguy cơ trì hoãn thời gian. CCI có thể chậm lại so với việc hình thành xu hướng thực tế, gây ra sự xuất hiện muộn.

Giải pháp:

  • Thêm các chỉ số khác để xác nhận, tránh các đường băng CCI sai.
  • Điều chỉnh năng động khoảng cách dừng.
  • Tối ưu hóa chiều dài CCI để nắm bắt xu hướng trên các khung thời gian.
  • Thư giãn các quy tắc nhập cảnh, không đòi hỏi nghiêm ngặt CCI không vượt qua.

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

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

  1. Tối ưu hóa chiều dài tham số CCI để tìm cài đặt tốt nhất. Kiểm tra chiều dài khác nhau và đánh giá lợi nhuận và tỷ lệ thắng.

  2. Thêm các chỉ số khác như KDJ, MACD để xác nhận, tránh tín hiệu CCI sai. Yêu cầu sự phá vỡ liên tục của mức giá hoặc các tín hiệu đồng thời.

  3. Điều chỉnh năng động khoảng cách dừng lỗ dựa trên sự biến động của thị trường. Dừng chặt chẽ hơn có nghĩa là dừng kịp thời nhưng có thể quá nhạy cảm. Dừng rộng hơn cho phép giữ xu hướng nhưng tăng lỗ nếu dừng lại.

  4. Thư giãn các quy tắc nhập để giảm các mục nhập bị bỏ lỡ.

  5. Thêm các quy tắc thoát khỏi xu hướng để tối đa hóa lợi nhuận.

Kết luận

Chiến lược này sử dụng các giao điểm không CCI để xác định hướng xu hướng và đi vào các giao điểm với mức dừng lỗ hợp lý, theo dõi hiệu quả xu hướng. Việc tối ưu hóa thêm về xác nhận, điều chỉnh tham số, quy tắc nhập cảnh và lối ra có thể nâng cao nó thành một chiến lược theo xu hướng ổn định. Các nhà giao dịch có thể áp dụng khoảng cách dừng thích hợp, thời gian giữ dựa trên sở thích rủi ro và lợi nhuận bằng cách sử dụng chiến lược này.


/*backtest
start: 2022-09-21 00:00:00
end: 2023-09-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("CCI Level Zero Strategy (by Marcoweb) v1.0", shorttitle="CCI_L_Z_Strat_v1.0", overlay=true)

///////////// CCI
CCIlength = input(20, minval=1, title="CCI Period Length") 
CCIoverSold = -100
CCIoverBought = 100
CCIzeroLine = 0
CCI = cci(hlc3, CCIlength)
price = hlc3
vcci = cci(price, CCIlength)

source = close
buyEntry = crossover(source, CCIzeroLine)
sellEntry = crossunder(source, CCIzeroLine)
plot(CCI, color=black,title="CCI")
p1 = plot(CCIoverSold, color=blue,title="-100")
p2 = plot(CCIoverBought, color=red,title="100")
p3 = plot(CCIzeroLine, color=orange,title="0")


///////////// CCI 0Trend v1.0 Strategy 
if (not na(vcci))

    if (crossover(CCI, CCIzeroLine))
        strategy.entry("CCI_L", strategy.long, stop=CCIoverSold,  comment="CCI_L")
    else
        strategy.cancel(id="CCI_L")
        
    if (crossunder(CCI, CCIzeroLine))
        strategy.entry("CCI_S", strategy.short, stop=CCIoverBought,  comment="CCI_S")
    else
        strategy.cancel(id="CCI_S")

//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)

Thêm nữa