Chiến lược thoát hiểm thông minh

Tác giả:ChaoZhang, Ngày: 2023-10-08 15:17:51
Tags:

Tổng quan

Chiến lược đột phá thông minh Double Tops là một chiến lược kết hợp kết hợp Chiến lược đảo ngược 123 và Chiến lược dao động máy dò trục trục. Nó chủ yếu sử dụng các mô hình đầu kép để xác định các điểm đảo ngược xu hướng tiềm năng và sử dụng chỉ số máy dò trục để lọc các đột phá sai, để nắm bắt sự đảo ngược xu hướng ở các mức kỹ thuật quan trọng.

Nguyên tắc

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

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

    Chiến lược đảo ngược 123 bắt nguồn từ cuốn sách How I Tripped My Money in the Futures Market của Ulf Jensen, trang 183.

    Lý do là: khi giá đóng cao hơn giá đóng trước trong 2 ngày liên tiếp, và đường Stochastic Slow 9 ngày dưới 50, đi dài; khi giá đóng thấp hơn giá đóng trước trong 2 ngày liên tiếp, và đường Stochastic Fast 9 ngày trên 50, đi ngắn.

  2. Chiến lược dao động máy dò trục

    Chiến lược dao động máy dò Pivot được đề xuất bởi Giorgos E. Siligardos. Bài báo liên quan đã được xuất bản trong số tháng 9 năm 2009 của tạp chí Stocks & Commodities.

    Chiến lược này sử dụng sự kết hợp của các đường trung bình động và chỉ số RSI để đo lường dao động khi giá tiếp cận các dải trên hoặc dưới.

    When price > moving average:
        Indicator value = (RSI value - 35) / (85 - 35)
    When price <= moving average: 
        Indicator value = (RSI value - 20) / (70 - 20)
    
    If indicator value > 50, go long
    If indicator value < 50, go short
    

Bằng cách kết hợp hai chiến lược, khi một mô hình tăng gấp đôi xuất hiện, nếu chỉ số phát ra tín hiệu theo cùng một hướng, một hoạt động đột phá được thực hiện. Điều này cho phép nắm bắt các xu hướng mới ở các mức kỹ thuật quan trọng trong khi tránh đột phá sai trong phạm vi hợp nhất.

Phân tích lợi thế

  • Sử dụng các chỉ báo hai cho tín hiệu đáng tin cậy hơn
  • Khám phá sự bùng phát xu hướng mới ở các cấp kỹ thuật chính
  • Các hoạt động phá vỡ cho phép tiềm năng lợi nhuận lớn hơn
  • Kết hợp đảo ngược và bộ lọc chỉ số tránh whipsaws trong phạm vi
  • Áp dụng cho nhiều sản phẩm với tính linh hoạt

Phân tích rủi ro

  • Double tops không thể loại bỏ hoàn toàn rủi ro phá vỡ sai
  • Cài đặt chỉ số đòi hỏi kinh nghiệm, các thông số không đúng có thể gây ra tín hiệu sai
  • Các chiến lược dừng lỗ hiệu quả là cần thiết để kiểm soát lỗ đơn
  • Các vụ phá vỡ thất bại có thể dẫn đến tổn thất lớn
  • Hiệu suất phụ thuộc vào điều chỉnh tham số cho các sản phẩm khác nhau

Quản lý và tối ưu hóa rủi ro:

  • Tối ưu hóa các thông số chỉ số để giảm tín hiệu sai
  • Sử dụng chuyển động hoặc dừng lại để hạn chế tổn thất
  • Đánh giá tính bền vững của các vụ phá vỡ để tránh đảo ngược
  • Điều chỉnh các thông số dựa trên các đặc điểm khác nhau của sản phẩm

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

Chiến lược có thể được tối ưu hóa trong các khía cạnh sau:

  1. Kiểm tra các hệ thống trung bình động khác nhau để tìm kết hợp tham số tối ưu

  2. Tối ưu hóa các thông số RSI để giảm tín hiệu sai

  3. Thêm bộ lọc âm lượng để đảm bảo việc thoát hiệu quả

  4. Bao gồm các chỉ số xác định xu hướng để tránh phá vỡ xu hướng ngược lại

  5. Sử dụng máy học để điều chỉnh tham số tự động

  6. Thêm các chiến lược dừng lỗ để kiểm soát rủi ro

  7. Đánh giá tính bền vững của việc phá vỡ và đặt mục tiêu lợi nhuận

  8. Phân tích các đặc điểm sản phẩm khác nhau để điều chỉnh tham số

Thông qua tối ưu hóa các tham số, đánh giá các hiệu ứng đột phá, điều chỉnh các chiến lược dừng lỗ vv, chiến lược có thể được cải thiện liên tục để có được lợi nhuận ổn định trong các môi trường thị trường khác nhau.

Kết luận

Chiến lược Breakout thông minh Double Tops kết hợp các mô hình đảo ngược và cơ chế xác nhận chỉ số để nắm bắt các điểm đảo ngược xu hướng tiềm năng ở các mức kỹ thuật quan trọng. So với việc theo đuổi hoàn toàn breakout, thời gian thực hiện của nó chính xác hơn, tránh những vụn xẻo trong các thị trường khác nhau. Trong khi đó, chiến lược nhấn mạnh kiểm soát rủi ro và nên được sử dụng với các cơ chế dừng lỗ. Thông qua tối ưu hóa tham số và kết hợp các chỉ số kỹ thuật, có thể có được các tín hiệu breakout ổn định để nắm bắt các đợt bùng nổ và đạt được lợi nhuận lớn tại các điểm đảo ngược xu hướng.


/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-03 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 20/04/2021
// 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 Pivot Detector Oscillator, by Giorgos E. Siligardos
// The related article is copyrighted material from Stocks & Commodities 2009 Sep
//
// 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


PDO(Length_MA,Length_RSI,UpBand,DownBand,MidlleBand) =>
    pos = 0.0
    xMA = sma(close, Length_MA)
    xRSI = rsi(close, Length_RSI)
    nRes = iff(close > xMA, (xRSI - 35) / (85-35), 
             iff(close <= xMA, (xRSI - 20) / (70 - 20), 0))
    pos:= iff(nRes * 100 > 50, 1,
    	   iff(nRes * 100 < 50, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & Pivot Detector Oscillator)", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- Pivot Detector Oscillator ----")
Length_MA = input(200, minval=1)
Length_RSI = input(14, minval=1)
UpBand = input(100, minval=1)
DownBand = input(0)
MidlleBand = input(50)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posPDO = PDO(Length_MA,Length_RSI,UpBand,DownBand,MidlleBand)
pos = iff(posReversal123 == 1 and posPDO == 1 , 1,
	   iff(posReversal123 == -1 and posPDO == -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