Chiến lược phá vỡ động lực

Tác giả:ChaoZhang, Ngày: 2023-10-11 15:01:12
Tags:

Tổng quan

Chiến lược này dựa trên các nguyên tắc đột phá động lực và kết hợp các chỉ số RSI và Stochastic để theo xu hướng. Nó sử dụng chỉ số DEMA để xác định hướng động lực giá, RSI để đánh giá mức mua quá mức và bán quá mức và các đường KDJ Stochastic để xác nhận xu hướng. Nó thực hiện các hoạt động dài hạn và ngắn hạn theo các tín hiệu chỉ số này. Chiến lược này phù hợp với giao dịch xu hướng trung hạn đến dài hạn.

Chiến lược logic

Chiến lược sử dụng chỉ số DEMA để xác định hướng của đà tăng giá. DEMA là một đường trung bình động theo hàm số nhân đôi nhạy cảm hơn EMA thông thường, cho phép phát hiện sớm hơn các thay đổi xu hướng. Chiến lược tính toán sự khác biệt tỷ lệ phần trăm giữa giá và DEMA để đánh giá hướng và sức mạnh của đà tăng giá.

Khi giá tăng lớn hơn so với tham số đặt ra, giá được coi là đang trong xu hướng tăng. Khi giá giảm lớn hơn tham số đặt ra, giá được coi là đang trong xu hướng giảm. Kết hợp với chỉ số RSI để xác định xem nó có ở vùng mua quá nhiều hay bán quá nhiều, nếu chỉ số RSI thấp hơn đường bán quá nhiều, nó chỉ ra trạng thái bán quá nhiều và các vị trí dài có thể được mở. Nếu chỉ số RSI cao hơn đường mua quá nhiều, nó chỉ ra trạng thái mua quá nhiều và các vị trí ngắn có thể được mở.

Ngoài ra, chiến lược này cũng sử dụng các đường stochastic K và D của chỉ số KDJ để xác nhận xu hướng. Khi đường K vượt qua trên đường D, một tín hiệu dài được kích hoạt. Khi đường K vượt qua dưới đường D, một tín hiệu ngắn được kích hoạt.

Cuối cùng, chiến lược cũng bao gồm các điều kiện lọc thời gian chỉ có hiệu lực trong những năm, tháng và ngày nhất định, do đó tránh giao dịch không cần thiết.

Phân tích lợi thế

Chiến lược này có những lợi thế sau:

  1. Sử dụng DEMA để đánh giá đà tăng giá nhạy cảm hơn và có thể phát hiện sự thay đổi xu hướng sớm hơn.

  2. Kết hợp chỉ số RSI để xác định mua quá mức và bán quá mức ngăn chặn việc nhập sai vào các thời điểm chuyển hướng thị trường.

  3. Sử dụng Stochastic KDJ để xác nhận tín hiệu có thể lọc ra một số tín hiệu sai.

  4. Thêm bộ lọc thời gian chỉ cho phép giao dịch trong thời gian xác định, tránh việc chiếm vốn không cần thiết.

  5. Dòng logic rõ ràng và dễ hiểu để phân tích.

  6. Các thông số chỉ số có thể điều chỉnh có thể được tối ưu hóa cho các sản phẩm và khung thời gian khác nhau.

Phân tích rủi ro

Ngoài ra còn có một số rủi ro cần lưu ý cho chiến lược này:

  1. DEMA, RSI và các chỉ số khác có thể cung cấp tín hiệu sai, dẫn đến tổn thất không cần thiết. Các thông số có thể được điều chỉnh hoặc thêm nhiều bộ lọc để giảm khả năng đánh giá sai.

  2. Sự kết hợp hai chỉ số không thể tránh hoàn toàn sự đảo ngược trong các chuyển động thị trường lớn.

  3. Các khoảng thời gian cố định có thể bỏ lỡ một số cơ hội giao dịch, nên khuyến cáo kiểm soát thời gian giao dịch linh hoạt hơn.

  4. Các phương pháp giao dịch xu hướng đòi hỏi phải dung nạp về mặt tâm lý các khoản rút và tổn thất liên tiếp.

  5. Việc giám sát liên tục về tối ưu hóa tham số là cần thiết để thích nghi với các điều kiện thị trường thay đổi.

Hướng dẫn cải thiện

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

  1. Kiểm tra sự kết hợp của nhiều chỉ số để tìm ra logic giao dịch ổn định và mượt mà hơn. chẳng hạn như MACD, KD, MOVING AVERAGE vv

  2. Kiểm tra và tối ưu hóa các thông số chỉ số để tìm các phạm vi giá trị tối ưu.

  3. Thêm các chiến lược dừng lỗ như dừng lỗ di chuyển, dừng lỗ sau lưng vv để giảm rút tiền.

  4. Thêm các chức năng quản lý tiền như kích thước giao dịch cố định, điều chỉnh vị trí năng động để kiểm soát rủi ro.

  5. Tối ưu hóa logic nhập và xuất để đảm bảo khả năng nhập cao và dừng lỗ sớm.

  6. Thêm thêm các bộ lọc để đảm bảo nhập chỉ sau khi có xu hướng rõ ràng.

  7. Tối ưu hóa kiểm soát thời gian để phù hợp với nhịp điệu thị trường. Ví dụ, chỉ giao dịch trong phiên Mỹ hoặc châu Á.

Kết luận

Chiến lược này tập trung vào giao dịch xu hướng, sử dụng DEMA cho hướng xu hướng, RSI cho mức mua quá mức / bán quá mức và KDJ để xác nhận để kiểm soát rủi ro. Nó có logic đơn giản, khả năng tùy biến cao và phù hợp với việc nắm giữ trung bình đến dài hạn. Với những cải tiến liên tục trong tối ưu hóa tham số, chiến lược dừng lỗ và kiểm soát rủi ro, chiến lược này có tiềm năng trở thành một hệ thống ổn định để theo dõi xu hướng thị trường lớn. Tất nhiên, không có chiến lược nào có thể tránh hoàn toàn rủi ro thị trường. Các nhà giao dịch cần kiên nhẫn và kỷ luật, luôn nhớ nguyên tắc bảo tồn vốn.


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

//@version= 2
strategy("DPD+STOCH+RSI ", overlay=false)

buyper =input(-1,step=0.1)
sellper=input(1,step=0.1)

demalen = input(50,title="Dema Length")

e1= ema(close,demalen)
e2=ema(e1,demalen)
demaprice  =   2 * e1 - e2

price=close

demadifper =  ((price-demaprice)/price)*100



plot(demadifper, color=red)
OverDemaPer = input(1, title="Band for OverBought")
UnderDemaPer= input(-1,title="Band for OverSold")




band1 = hline(OverDemaPer)
band0 = hline(UnderDemaPer)
zeroline=0
fill(band1, band0, color=green, transp=90)


lengthrsi = input(10)
overSold = input( 30 )
overBought = input( 55 )
vrsi = rsi(price, lengthrsi)


smoothK = input(3, minval=1)
smoothD = input(3, minval=1)
lengthRSI = input(14, minval=1)
lengthStoch = input(14, minval=1)
src = input(close, title="RSI Source")

rsi1 = rsi(src, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
srsilow=input(20)
srsiup=input(80)







yearfrom = input(2018)
yearuntil =input(2019)
monthfrom =input(6)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)



if ( ( (demadifper<buyper) or crossover(demadifper,buyper)) and (vrsi<overSold) ) 
    strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND",  comment="BUY")
    
else
    strategy.cancel(id="BUY")


if ( vrsi>overBought  and ( crossunder(k,d) ) and ( demadifper>sellper  or crossunder(demadifper,sellper)  )  ) 

    strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND",  comment="SELL")
else
    strategy.cancel(id="SELL")
    
    
    

Thêm nữa