Chiến lược đảo ngược đột phá động lượng nhị phân

Tác giả:ChaoZhang, Ngày: 2024-02-28 17:20:02
Tags:

img

Tổng quan

Chiến lược đảo ngược đột phá động lượng nhị phân kết hợp chỉ số Stochastic và chỉ số Bull Power để thực hiện lọc tín hiệu kép và giao dịch đảo ngược tại các thời điểm chuyển đổi thị trường để theo đuổi các tình huống bán quá mức và mua quá mức.

Chiến lược logic

Chiến lược bao gồm hai phần:

  1. 123 Chiến lược đảo ngược

    Nó sử dụng chiến lược đảo ngược được đề xuất bởi Ulf Jensen trong cuốn sách của ông How I Tripped My Money in the Futures Market. Nó đi dài khi giá đóng cao hơn giá đóng trước đó trong 2 ngày liên tiếp và stochastic chậm 9 ngày dưới 50; nó đi ngắn khi giá đóng thấp hơn giá đóng trước đó trong 2 ngày liên tiếp và stochastic nhanh 9 ngày trên 50.

  2. Chỉ số sức mạnh bò

    Nó sử dụng chỉ số động lực được đề xuất bởi Vadim Gimelfarb trong cuốn sách của ông Bull and Bear Balance Indicator . Nó đánh giá sức mạnh tăng / giảm bằng cách tính toán mối quan hệ giữa đường K hiện tại và đường K trước đó và tạo ra các tín hiệu giao dịch.

Chiến lược kết hợp hai chiến lược tín hiệu đơn trên. Nó chỉ tạo ra tín hiệu giao dịch khi tín hiệu của hai chiến lược phù hợp để thực hiện lọc tín hiệu kép.

Phân tích lợi thế

Chiến lược này kết hợp các lợi thế của các chiến lược đảo ngược và các chiến lược theo dõi. Nó có thể nắm bắt các tín hiệu đảo ngược kịp thời khi thị trường cho thấy các dấu hiệu đảo ngược, trong khi giảm các tín hiệu sai thông qua lọc tín hiệu kép để tránh đuổi theo mức cao và bán mức thấp.

  1. Sử dụng mô hình 123 để xác định các bước ngoặt của thị trường và xác định các tình huống bán quá và mua quá.
  2. Cơ chế lọc tín hiệu kép tránh các tín hiệu sai được tạo ra bởi các chỉ số đơn và cải thiện chất lượng của các tín hiệu giao dịch.
  3. Giao dịch đảo ngược để nắm bắt các cơ hội xu hướng do đảo ngược thị trường.
  4. Không gian tối ưu hóa tham số lớn để thích nghi với môi trường thị trường khác nhau bằng cách điều chỉnh các tham số chỉ số.

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro:

  1. Rủi ro thất bại đảo ngược. Xác định tín hiệu đảo ngược có một số khó khăn. Khả năng giá tiếp tục xu hướng ban đầu sau khi đưa ra tín hiệu đảo ngược cũng rất cao.
  2. Mất cơ hội khi tín hiệu không phù hợp giữa hai chỉ số.
  3. Nhận dạng không chính xác của tín hiệu đảo ngược do các thông số không phù hợp.
  4. Chiến lược này phù hợp hơn cho giao dịch trung bình và dài hạn.

Các biện pháp đối phó:

  1. Sử dụng các chiến lược dừng lỗ để kiểm soát lỗ đơn.
  2. Tối ưu hóa các tham số. Các kết hợp khác nhau có thể được chọn cho các giống khác nhau.
  3. Kết hợp các chỉ số khác như phán đoán phụ.

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. Kiểm tra tác động của các thông số khác nhau đối với hiệu suất chiến lược để tìm sự kết hợp thông số tối ưu. Ví dụ, điều chỉnh các thông số chu kỳ của chỉ số Stochastic, các thông số làm mịn của chỉ số KDJ, v.v.
  2. Tăng các chiến lược dừng lỗ để kiểm soát lỗ đơn. Có thể thiết lập điểm dừng lỗ kết hợp với chỉ số ATR.
  3. Kết hợp các chỉ số khác để xác minh tín hiệu. Ví dụ, MACD, KD, RSI và các chỉ số khác có thể được xem xét khi tạo tín hiệu giao dịch.
  4. Sử dụng thuật toán học máy để tối ưu hóa các tham số và đạt được điều chỉnh động các tham số.

Tóm lại

Chiến lược đảo ngược đột phá động lượng nhị phân kết hợp chỉ số Stochastic và chỉ số Bull Power để đạt được lọc tín hiệu kép và giao dịch đảo ngược. Nó có thể nắm bắt các cơ hội đảo ngược thị trường và tránh tiếng ồn do tín hiệu duy nhất tạo ra. Đây là một chiến lược định lượng ổn định và hiệu quả. Chiến lược có thể được cải thiện thông qua tối ưu hóa tham số, chiến lược dừng lỗ, xác minh tín hiệu, v.v., làm cho nó phù hợp với nhiều loại và môi trường thị trường hơn. Nó có tiềm năng tối ưu hóa và ứng dụng rất lớn.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 05/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
//  Bull Power Indicator
//  To get more information please see "Bull And Bear Balance Indicator" 
//  by Vadim Gimelfarb. 
//
// 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

BullPower(SellLevel, BuyLevel) =>
    pos = 0
    value = 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))))))
    pos := iff(value > SellLevel, -1,
	         iff(value <= BuyLevel, 1, nz(pos[1], 0)))
    pos

strategy(title="Combo Backtest 123 Reversal & Bull Power", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
SellLevel = input(15, step=1)
BuyLevel = input(3, step=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posBullPower = BullPower(SellLevel, BuyLevel)
pos = iff(posReversal123 == 1 and posBullPower == 1 , 1,
	   iff(posReversal123 == -1 and posBullPower == -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