Chiến lược giao dịch đảo ngược hai chỉ số

Tác giả:ChaoZhang, Ngày: 2023-09-25 17:46:24
Tags:

Tổng quan

Chiến lược này kết hợp mô hình đảo ngược 123 với chỉ số CCI để tạo ra một chiến lược giao dịch tín hiệu ngắn hạn tích lũy. Nó tận dụng sự đảo ngược giá bằng cách pha trộn phân tích mô hình biểu đồ với các chỉ số mua quá mức / bán quá mức. Chiến lược phù hợp với các công cụ giao dịch như chỉ số và ngoại hối trải qua dao động.

Chiến lược logic

Logic giao dịch chính bao gồm:

  1. Mô hình 123 xác định sự đảo ngược. 2 ngày liên tiếp của sự đảo ngược giá đóng cùng với sự đảo ngược Stochastic cung cấp tín hiệu.

  2. CCI xác nhận sự đảo ngược. CCI xác định các điều kiện mua quá mức / bán quá mức. Sự chéo chéo giữa CCI nhanh và chậm cho thấy sự đảo ngược.

  3. 123 + CCI cùng nhau tạo ra các tín hiệu tích lũy mạnh mẽ hơn.

  4. Tùy chọn để đảo ngược hướng tín hiệu. Đi ngắn trên tín hiệu dài và ngược lại cho giao dịch ngược lại.

  5. Các thiết lập chứng khoán kiểm soát độ nhạy đảo ngược. Các thông số CCI quyết định nhận thức mua quá mức / bán quá mức.

  6. Không có lợi nhuận hoặc dừng lỗ cố định.

Chiến lược kết hợp hành động giá và phân tích chỉ số cho các thiết lập giao dịch đảo ngược có khả năng cao.

Ưu điểm

Những lợi thế chính là:

  1. Bộ lọc chỉ số kép cải thiện chất lượng tín hiệu và tránh ngắt sai.

  2. 123 mô hình trực quan và đáng tin cậy để phát hiện sự đảo ngược.

  3. CCI xác định rõ các khu vực mua quá mức / bán quá mức để đảo ngược thời gian.

  4. Tính linh hoạt thông qua lựa chọn thương mại đối nghịch để đa dạng hóa.

  5. Các thông số đơn giản làm cho nó dễ sử dụng.

  6. Không cần dừng lỗ hoặc lấy lợi nhuận làm giảm rủi ro.

  7. Phù hợp với các công cụ dao động như chỉ số và ngoại hối.

  8. Dễ dàng sao chép cho người mới bắt đầu.

Rủi ro

Những rủi ro chính là:

  1. Chi phí tăng lên do tần suất giao dịch cao hơn.

  2. Rủi ro đảo ngược thất bại vì các mô hình không chắc chắn.

  3. Rủi ro lựa chọn công cụ nếu được áp dụng cho các tài sản xu hướng.

  4. Rủi ro tối ưu hóa tham số dẫn đến phù hợp đường cong.

  5. Lỡ rủi ro xu hướng và giao dịch chống xu hướng.

  6. Rủi ro hiệu quả thấp vì các cơ hội đảo ngược có thể bị hạn chế.

Các rủi ro có thể được giảm thiểu thông qua kiểm soát tần số, lựa chọn tài sản, kiểm tra ngược và tối ưu hóa tham số.

Cơ hội gia tăng

Một số cách để cải thiện chiến lược:

  1. Thêm stop loss và take profit để kiểm soát rủi ro.

  2. Tích hợp các bộ lọc xu hướng để tránh phá vỡ sai.

  3. Tối ưu hóa các thông số cho các thiết bị khác nhau.

  4. Đưa ra kích thước vị trí dựa trên điều kiện.

  5. Thiết lập giới hạn rút tiền để ngăn ngừa tổn thất kéo dài.

  6. Thêm máy học để tối ưu hóa thích nghi.

  7. Cải thiện cho tỷ lệ thắng cao hơn và rủi ro-lợi nhuận.

  8. Giao dịch theo xu hướng bằng cách phân biệt thị trường bò và thị trường gấu.

Với những cải tiến liên tục, chiến lược có thể trở thành một hệ thống giao dịch ngắn hạn ổn định.

Kết luận

Chiến lược này kết hợp mô hình 123 và chỉ số CCI để xác định các cơ hội đảo ngược giá có khả năng cao bằng cách sử dụng xác nhận kép. Nó cung cấp tín hiệu chất lượng, tính linh hoạt trong sử dụng và dễ chấp nhận. Nhưng các tham số và lựa chọn tài sản cần tối ưu hóa cùng với tần suất giao dịch và kiểm soát lỗ. Với việc tinh chỉnh liên tục, nó có thể phát triển thành một chiến lược giao dịch đảo ngược ngắn hạn hiệu quả.


/*backtest
start: 2023-08-25 00:00:00
end: 2023-09-24 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 11/07/2019
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The Commodity Channel Index (CCI) is best used with markets that display cyclical or 
// seasonal characteristics, and is formulated to detect the beginning and ending of these 
// cycles by incorporating a moving average together with a divisor that reflects both possible 
// and actual trading ranges. The final index measures the deviation from normal, which indicates 
// major changes in market trend.
// To put it simply, the Commodity Channel Index (CCI) value shows how the instrument is trading 
// relative to its mean (average) price. When the CCI value is high, it means that the prices are 
// high compared to the average price; when the CCI value is down, it means that the prices are low 
// compared to the average price. The CCI value usually does not fall outside the -300 to 300 range 
// and, in fact, is usually in the -100 to 100 range.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

CCI(FastMA, SlowMA) =>
    pos = 0
    xCCI = cci(close, 10)
    xSMA = sma(xCCI,SlowMA)
    xFMA = sma(xCCI,FastMA)
    pos := iff(xSMA < xFMA , 1,
	         iff(xSMA > xFMA, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Strategy 123 Reversal & CCI", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
FastMA = input(10, minval=1)
SlowMA = input(20, minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posCCI = CCI(FastMA, SlowMA)
pos = iff(posReversal123 == 1 and posCCI == 1 , 1,
	   iff(posReversal123 == -1 and posCCI == -1, -1, 0)) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Thêm nữa