Giao dịch ngắn hạn dựa trên chiến lược siêu xu hướng và CCI


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

Giao dịch ngắn hạn dựa trên chiến lược siêu xu hướng và CCI

Tổng quan

Chiến lược này dựa trên chỉ số siêu xu hướng và chỉ số CCI với hai thiết lập tham số khác nhau, mục tiêu là để nắm bắt biến động giá đường ngắn và thực hiện giao dịch tần số cao. Chỉ số siêu xu hướng, thông qua tính toán ATR động, để xác định hướng xu hướng của giá; và chỉ số CCI được sử dụng để xác định liệu thị trường có quá mua hay quá bán hay không. Chiến lược kết hợp cả hai để tạo ra tín hiệu giao dịch.

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

  • Sử dụng ATR 14 chu kỳ để tính toán xu hướng vượt quá nhanh, có yếu tố thiết lập là 3; sử dụng ATR 14 chu kỳ để tính toán xu hướng vượt quá chậm, có yếu tố thiết lập là 6. Xu hướng vượt quá nhanh nhạy cảm hơn, có thể nắm bắt sự thay đổi ngắn hạn; xu hướng vượt quá chậm để xác định hướng xu hướng chính.

  • Khi vượt quá xu hướng nhanh vượt qua giá, và xu hướng chậm vẫn còn trên giá, đánh giá là tín hiệu đảo ngược có thể, làm nhiều; khi vượt quá xu hướng nhanh vượt qua giá, và xu hướng chậm vẫn còn dưới giá, đánh giá là tín hiệu đảo ngược có thể, làm trống.

  • Đồng thời, sử dụng CCI để đánh giá tình trạng thị trường quá mua quá bán. CCI cao hơn 100 là thị trường quá mua, thị trường thấp hơn 100 là thị trường quá bán.

  • Trong trường hợp quá mua quá bán, chỉ số quá xu hướng có nhiều khả năng phát ra tín hiệu đảo ngược, đó là logic cốt lõi của chiến lược.

Phân tích lợi thế

  • Kết hợp với quá xu hướng đánh giá điểm đảo ngược xu hướng và CCI đánh giá tình trạng quá mua quá bán, có thể lọc hiệu quả các đột phá giả mạo và cải thiện chất lượng tín hiệu.

  • Các tín hiệu giao dịch được hình thành từ các tín hiệu giao dịch vượt quá xu hướng nhanh chóng và nhanh chóng, tạo ra các tín hiệu giao dịch có tần số ra vào cao.

  • Các tham số của CCI và siêu xu hướng có thể được điều chỉnh linh hoạt để phù hợp với các điều kiện thị trường khác nhau.

  • Chiến lược của nó rất rõ ràng và dễ hiểu, điều chỉnh các tham số cũng khá đơn giản.

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

  • Các siêu xu hướng tự nó có sự chậm trễ, có thể bỏ lỡ cơ hội đầu tiên để đảo ngược. Bạn có thể thử nghiệm rút ngắn chu kỳ ATR.

  • CCI có rủi ro điều chỉnh lại, biến động quá lớn cũng có thể gây ra giao dịch lặp lại. Bạn có thể thử nghiệm các tham số tăng CCI hoặc điều chỉnh ranh giới.

  • Giao dịch tần số cao có thể làm tăng tần số giao dịch và gánh nặng phí xử lý.

Tối ưu hóa tư duy

  • Các tham số có thể được tối ưu hóa dựa trên các chỉ số như tỷ lệ rút lui tối đa hoặc tỷ lệ lợi nhuận.

  • Có thể kết hợp các phương pháp học máy như rừng ngẫu nhiên để chọn đặc điểm cho tham số, để tối ưu hóa tự động các tham số.

  • Bạn có thể tìm hiểu giới hạn số lần mở lệnh trong một chu kỳ nhất định để kiểm soát rủi ro.

Tóm tắt

Chiến lược này tận dụng tối đa các chỉ số siêu xu hướng để xác định điểm đảo ngược xu hướng ngắn hạn, hỗ trợ tín hiệu lọc chỉ số CCI. Khi các tham số được thiết lập hợp lý, giao dịch đường ngắn có thể đạt được hiệu quả cao. Tuy nhiên, cũng cần cảnh giác với các loại rủi ro gây ra bởi giao dịch quá thường xuyên, có thể đạt được hiệu suất chiến lược tốt hơn thông qua điều chỉnh tham số và tối ưu hóa thuật toán.

Mã nguồn chiến lược
/*backtest
start: 2023-02-25 00:00:00
end: 2024-02-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Stochastic RSI Strategy", shorttitle="StochRSI", overlay=true)

rsiLength = input.int(14, title="RSI Length")
stochLength = input.int(14, title="Stochastic Length")
kSmooth = input.int(3, title="K Smooth")
dSmooth = input.int(3, title="D Smooth")
oversoldLevel = input(10, title="Oversold Level")
overboughtLevel = input(90, title="Overbought Level")

rsi = ta.rsi(close, rsiLength)
stochRsi = ta.stoch(rsi, rsi, rsi, stochLength)

longCondition = stochRsi < oversoldLevel
shortCondition = stochRsi > overboughtLevel

if (longCondition)
    strategy.entry("Long", strategy.long)
if (shortCondition)
    strategy.entry("Short", strategy.short)

if (shortCondition)
    strategy.close("Long")
if (longCondition)
    strategy.close("Short")

plotshape(longCondition, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(shortCondition, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)