Chiến lược khu vực hành động của CDC

Tác giả:ChaoZhang, Ngày: 2024-02-20 11:23:24
Tags:

img

Tổng quan

Chiến lược Khu hành động CDC [TS Trader] là một chiến lược giao dịch định lượng được chuyển đổi từ chỉ số Khu hành động CDC. Chiến lược sử dụng sự chéo chéo giữa các đường trung bình di chuyển nhanh và chậm như tín hiệu mua và bán. Khi MA nhanh vượt qua trên MA chậm, đó là tín hiệu mua. Khi MA nhanh vượt qua dưới MA chậm, đó là tín hiệu bán.

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

Các chỉ số cốt lõi của chiến lược này là trung bình di chuyển nhanh và chậm. Chiến lược đầu tiên tính toán giá trung bình số học, sau đó tính toán MA nhanh và chậm dựa trên thời gian được xác định bởi người dùng. Khi MA nhanh vượt qua trên MA chậm, nó được coi là tín hiệu tăng. Khi MA nhanh vượt dưới MA chậm, nó được coi là tín hiệu giảm.

Sau khi xác định xu hướng thị trường, chiến lược đánh giá thêm mối quan hệ giữa giá đóng và đường trung bình động. Nếu đó là thị trường tăng và giá đóng trên MA nhanh, đó là tín hiệu mua mạnh. Nếu đó là thị trường gấu và giá đóng dưới MA nhanh, đó là tín hiệu bán mạnh.

Dựa trên các tín hiệu mua và bán này, chiến lược có thể thực hiện giao dịch tự động. Khi một tín hiệu mua được kích hoạt, một vị trí dài được mở. Khi một tín hiệu bán được kích hoạt, các vị trí dài hiện có được đóng hoặc các vị trí ngắn mới được mở.

Phân tích lợi thế

Những lợi thế của chiến lược này bao gồm:

  1. Sử dụng các đường trung bình động như một nền tảng lý thuyết vững chắc, dễ hiểu.
  2. Kết hợp hai MA để lọc tiếng ồn và xác định xu hướng hiệu quả.
  3. Hơn nữa xác định các tín hiệu đầu vào mạnh bằng cách sử dụng mối quan hệ giá đóng và MA.
  4. Logic đơn giản và rõ ràng, dễ tự động hóa.
  5. Thời gian MA có thể được điều chỉnh cho các điều kiện thị trường khác nhau.

Phân tích rủi ro

Ngoài ra còn có một số rủi ro:

  1. Các MAs có những vấn đề chậm trễ, có thể bỏ lỡ những cơ hội ngắn hạn.
  2. Có thể dẫn đến tổn thất lớn trong quá trình đảo ngược xu hướng.
  3. Kết quả backtest có thể khác với hiệu suất giao dịch trực tiếp.

Các phương pháp như kết hợp các chỉ số khác, rút ngắn thời gian MA, v.v. có thể giúp giải quyết những rủi ro này.

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

Một số hướng để tối ưu hóa chiến lược:

  1. Tối ưu hóa thời gian MA cho thị trường thay đổi.
  2. Thêm các chỉ số như âm lượng để lọc các ngã sai.
  3. Bao gồm các chỉ số khác để xác định sự đảo ngược xu hướng.
  4. Thêm stop loss vào control losses.

Tóm lại

Tóm lại, chiến lược CDC Action Zone [TS Trader] thực hiện một chiến lược giao dịch định lượng đơn giản nhưng thực tế bằng cách sử dụng đường chéo trung bình động kép. Chiến lược này dễ hiểu và thực hiện nhưng có chỗ cho tối ưu hóa hơn nữa. Với việc thử nghiệm và tinh chỉnh liên tục, nó có thể trở thành một chiến lược lâu dài ổn định.


/*backtest
start: 2023-02-13 00:00:00
end: 2024-02-19 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("CDC Action Zone [TS Trader]", overlay=true)

// CDC ActionZone V2 29 Sep 2016
// CDC ActionZone is based on a simple 2MA and is most suitable for use with medium volatility market
// 11 Nov 2016 : Ported to Trading View with minor UI enhancement

src = input(title="Data Array", type=input.source, defval=ohlc4)
prd1 = input(title="Short MA period", type=input.integer, defval=12)
prd2 = input(title="Long MA period", type=input.integer, defval=26)

AP = ema(src, 2)
Fast = ema(AP, prd1)
Slow = ema(AP, prd2)

// === INPUT BACKTEST RANGE ===
FromYear = input(defval = 2019, title = "From Year", minval = 2009)
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2009)
ToMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)

// === FUNCTION EXAMPLE ===
start = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window() => true
Bullish = Fast > Slow
Bearish = Fast < Slow

Green = Bullish and AP > Fast
Red = Bearish and AP < Fast
Yellow = Bullish and AP < Fast
Blue = Bearish and AP > Fast

//Long Signal
Buy = Green and Green[1] == 0
Sell = Red and Red[1] == 0

//Short Signal
Short = Red and Red[1] == 0
Cover = Red[1] and Red == 0

//Plot
l1 = plot(Fast, "Fast", linewidth=1, color=color.red)
l2 = plot(Slow, "Slow", linewidth=2, color=color.blue)
bcolor = Green ? color.lime : Red ? color.red : Yellow ? color.yellow : Blue ? color.blue : color.white
barcolor(color=bcolor)
fill(l1, l2, bcolor)

strategy.entry("Buy", strategy.long, when=window() and Buy)
strategy.entry("Sell", strategy.short, when=window() and Sell)
strategy.close("Buy", when=window() and Sell)
strategy.close("Sell", when=window() and Buy)


Thêm nữa