Chiến lược phá hủy đường trung bình động Momentum


Ngày tạo: 2023-10-11 15:01:12 sửa đổi lần cuối: 2023-10-11 15:01:12
sao chép: 5 Số nhấp chuột: 654
1
tập trung vào
1617
Người theo dõi

Tổng quan

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

Nguyên tắc chiến lược

Chiến lược này sử dụng chỉ số DEMA để đánh giá hướng động lượng giá. DEMA là đường trung bình di chuyển hai chỉ số, nó nhạy cảm hơn so với EMA thông thường và có thể phát hiện ra sự thay đổi xu hướng sớm hơn. Chiến lược đánh giá hướng và cường độ động lượng giá bằng cách tính toán tỷ lệ phần trăm của giá so với DEMA.

Khi giá tăng lớn hơn tham số đặt, giá được coi là đang trong xu hướng tăng; khi giá giảm lớn hơn tham số đặt, giá được coi là đang trong xu hướng giảm. Kết hợp với chỉ số RSI để xác định xem giá có nằm trong khu vực mua quá bán hay không, nếu RSI thấp hơn đường bán quá mức, điều đó có nghĩa là đang ở trạng thái bán quá mức, bạn có thể làm nhiều hơn; nếu RSI cao hơn đường mua quá mức, điều đó có nghĩa là đang ở trạng thái mua quá mức, bạn có thể làm trống.

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

Cuối cùng, chiến lược này đã thêm vào các điều kiện lọc thời gian, chỉ có hiệu lực trong năm, tháng và ngày được chỉ định, để tránh các 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 ưu điểm sau:

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

  2. Kết hợp với chỉ số RSI để đánh giá tình trạng quá mua và quá bán, tránh tham gia vào thị trường gần điểm biến động.

  3. Sử dụng chỉ số ngẫu nhiên KDJ để xác nhận tín hiệu xu hướng, bạn có thể lọc một số tín hiệu sai.

  4. Thêm điều kiện lọc thời gian, chỉ giao dịch trong thời gian được chỉ định, tránh chiếm tiền không cần thiết.

  5. Tiến hành phân tích rõ ràng, dễ hiểu và dễ sửa đổi.

  6. Các tham số chỉ số có thể điều chỉnh và có thể được tối ưu hóa cho các giống và chu kỳ thời gian khác nhau.

Phân tích rủi ro

Tuy nhiên, chiến lược này cũng có một số rủi ro cần lưu ý:

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

  2. Các cặp chỉ số kép không thể hoàn toàn tránh được sự đảo ngược lớn của thị trường, và có thể có lỗ dừng trong thị trường biến động mạnh.

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

  4. Phương pháp giao dịch theo xu hướng đòi hỏi phải chịu đựng một sự rút lui nhất định và cần phải chuẩn bị tâm lý để chịu đựng tổn thất liên tục.

  5. Cần chú ý đến việc tối ưu hóa các thông số chỉ số để thích ứng với sự thay đổi của thị trường.

Hướng tối ưu hóa

Chính sách này có thể được tối ưu hóa theo các khía cạnh sau:

  1. Kiểm tra các kết hợp của các chỉ số khác nhau để tìm kiếm các chiến lược giao dịch ổn định và trơn tru hơn. Ví dụ MACD, KD, MOVING AVERAGE, v.v.

  2. Kiểm tra và tối ưu hóa các tham số chỉ số để tìm ra phạm vi lấy giá trị tối ưu của tham số.

  3. Tăng các chiến lược dừng lỗ, chẳng hạn như dừng di chuyển, dừng theo dõi, và giảm rút lui.

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

  5. Tối ưu hóa logic nhập cảnh và xuất cảnh, đảm bảo khả năng nhập cảnh cao, ngăn chặn thiệt hại sớm nhất.

  6. Thêm thêm các điều kiện lọc để đảm bảo nhập cảnh chỉ sau khi xu hướng rõ ràng. Ví dụ: chỉ số năng lượng, chỉ số đường dẫn.

  7. Tối ưu hóa chiến lược kiểm soát thời gian để giao dịch gần hơn với nhịp độ thị trường. Ví dụ: giao dịch chỉ trong thời gian giao dịch của Mỹ hoặc châu Á.

Tóm tắt

Chiến lược này dựa trên giao dịch xu hướng, sử dụng DEMA để đánh giá xu hướng, RSI để đánh giá quá mua quá bán, KDJ xác nhận tín hiệu để kiểm soát rủi ro. Nó hoạt động đơn giản, logic rõ ràng, có thể tùy biến mạnh mẽ, phù hợp với vị trí dài trung. Với sự cải thiện liên tục của các tham số tối ưu hóa, chiến lược dừng lỗ và các biện pháp kiểm soát rủi ro, chiến lược này có khả năng trở thành một hệ thống giao dịch ổn định để theo dõi xu hướng chủ yếu của thị trường.

Mã nguồn chiến lược
/*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")