Chiến lược cân bằng bò và gấu

Tác giả:ChaoZhang, Ngày: 2023-11-02 17:12:40
Tags:

img

Tổng quan

Chiến lược cân bằng bò và gấu là một chiến lược theo xu hướng được cải thiện. Nó phân tích sự cân bằng giữa các lực tăng và giảm dựa trên mối quan hệ giữa thanh hiện tại và thanh trước đó, và tạo ra các tín hiệu giao dịch khi cân bằng bị phá vỡ. Ý tưởng bắt nguồn từ chỉ số Elder Ray truyền thống nhưng với những cải tiến để đánh giá xu hướng chính xác hơn.

Chiến lược logic

Chỉ số cốt lõi của chiến lược này là nBBB, phản ánh sự cân bằng giữa các lực tăng và giảm của thanh hiện tại so với thanh trước.

nBBB = giá trị2 - giá trị

Trong đó giá trị và giá trị2 tính toán các lực tăng và giảm của thanh hiện tại và thanh trước đó tương ứng. Việc tính toán khá phức tạp, liên quan đến các phán quyết về mối quan hệ giữa giá đóng, mở, cao và thấp. Nhưng nói chung, giá trị đo các lực tăng / giảm của thanh hiện tại, và giá trị2 đo của thanh trước. Sự khác biệt của chúng phản ánh sự thay đổi trong cán cân tăng / giảm.

Khi nBBB giảm xuống dưới ngưỡng SellLevel, một tín hiệu ngắn được tạo ra. Khi nBBB tăng lên trên ngưỡng BuyLevel, một tín hiệu dài được tạo ra. Các ngưỡng có thể được điều chỉnh thông qua các tham số.

Ưu điểm

Những lợi thế chính của chiến lược này là:

  1. Dựa trên các tín hiệu đảo ngược từ các ngọn nến, nó có thể xác định các điểm chuyển hướng mạnh mẽ.

  2. Bằng cách đo cân bằng bò / gấu, các tín hiệu chính xác và đáng tin cậy hơn.

  3. So sánh thanh hiện tại với thanh trước đây lọc ra một số tiếng ồn cho tín hiệu rõ ràng hơn.

  4. Áp dụng cho các khung thời gian khác nhau với sự linh hoạt tốt.

  5. Chỉ số nBBB trực quan và tín hiệu đơn giản và rõ ràng.

Rủi ro

Một số rủi ro cần lưu ý:

  1. NBBB có thể tạo ra các tín hiệu sai, đòi hỏi xác nhận giá.

  2. Chỉ dựa vào nBBB có điểm mù, tốt hơn là kết hợp các chỉ số khác.

  3. Các tham số SellLevel và BuyLevel trực tiếp ảnh hưởng đến hiệu suất và cần tối ưu hóa cẩn thận.

  4. Các tín hiệu có thể bị trì hoãn trong thời gian biến động cực kỳ, đòi hỏi đánh giá rủi ro.

  5. Thích hợp hơn cho trung hạn / dài hạn, ngắn hạn có thể được chém.

Những cải tiến

Một số cách để tăng cường chiến lược:

  1. Tối ưu hóa SellLevel và BuyLevel dựa trên các bài kiểm tra ngược lịch sử cho phù hợp nhất.

  2. Kết hợp các cơ chế dừng lỗ như dừng lỗ để kiểm soát rủi ro.

  3. Thêm các chỉ số khác như khối lượng, stochastic vv để cải thiện độ chính xác quyết định.

  4. Đưa ra máy học để tự động tối ưu hóa các thông số và tạo ra tín hiệu tốt hơn.

  5. Tối ưu hóa tham số riêng biệt cho các sản phẩm và khung thời gian khác nhau.

Kết luận

Chiến lược cân bằng bò và gấu đánh giá sự đảo ngược xu hướng bằng cách đo lường những thay đổi trong lực bò / gấu, làm cho nó tương đối đơn giản và thực tế theo xu hướng chiến lược. Nó có một số lợi thế nhưng cũng có rủi ro. Với tối ưu hóa tham số, dừng lỗ, các chỉ số bổ sung vv, nó có thể được cải thiện hơn nữa.


/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 03/02/2017
//    This new indicator analyzes the balance between bullish and
//    bearish sentiment.
//    One can cay that it is an improved analogue of Elder Ray indicator.
//    To get more information please see "Bull And Bear Balance Indicator" 
//    by Vadim Gimelfarb. 
////////////////////////////////////////////////////////////
strategy(title = "Bull And Bear Balance Strategy")
SellLevel = input(-15, step=0.01)
BuyLevel = input(15, step=0.01)
reverse = input(false, title="Trade reverse")
hline(SellLevel, color=red, linestyle=line)
hline(BuyLevel, color=green, linestyle=line)
value =  iff (close < open , 
          iff (close[1] > open ,  max(close - open, high - low), high - low), 
           iff (close > open, 
             iff(close[1] > open, max(close[1] - low, high - close), max(open - low, high - close)), 
              iff(high - close > close - low, 
               iff (close[1] > open, max(close[1] - open, high - low), high - low), 
                 iff (high - close < close - low, 
                  iff(close > open, max(close - low, high - close),open - low), 
                   iff (close > open, max(close[1] - open, high - close),
                     iff(close[1] < open, max(open - low, high - close), high - low))))))

value2 = iff (close < open , 
          iff (close[1] < open ,  max(high - close[1], close - low), max(high - open, close - low)), 
           iff (close > open, 
             iff(close[1] > open,  high - low, max(open - close[1], high - low)), 
              iff(high - close > close - low, 
               iff (close[1] < open, max(high - close[1], close - low), high - open), 
                 iff (high - close < close - low, 
                  iff(close[1] > open,  high - low, max(open - close, high - low)), 
                   iff (close[1] > open, max(high - open, close - low),
                     iff(close[1] < open, max(open - close, high - low), high - low))))))
nBBB = value2 - value
nBBBc = nBBB < 0 ? red : green
pos = iff(nBBB < SellLevel, -1,
	   iff(nBBB >= BuyLevel, 1, nz(pos[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)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nBBB, style=line, linewidth=1, color=nBBBc)
plot(nBBB, style=histogram, linewidth=1, color=gray)


Thêm nữa