Chiến lược dao động động


Ngày tạo: 2023-09-14 16:15:42 sửa đổi lần cuối: 2023-09-14 16:15:42
sao chép: 3 Số nhấp chuột: 671
1
tập trung vào
1617
Người theo dõi

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

Chiến lược này giao dịch dựa trên chỉ số biến động động ((DMI)). DMI đánh giá xu hướng bằng cách tính toán tỷ lệ phần trăm của giá so với đường trung bình của các chiều dài khác nhau.

Các giao dịch được thực hiện theo các logic sau:

  1. Tính lệch phần trăm của giá so với đường trung bình chu kỳ dài (như 200 ngày) được tính như DMI thứ nhất

  2. Tính lệch phần trăm của giá so với đường trung bình chu kỳ trung bình (ví dụ 50 ngày) được tính như DMI thứ 2

  3. Tính lệch phần trăm của giá so với đường trung bình ngắn hạn (như 20 ngày) được tính như DMI thứ 3

  4. Bán khi DMI 3 cao hơn DMI 1; Bán khi DMI 3 thấp hơn DMI 2

  5. Tạo tín hiệu giao dịch dựa trên mối quan hệ DMI

DMI đánh giá điểm thay đổi xu hướng thị trường bằng cách động so sánh cường độ tương đối của các chu kỳ đường trung bình khác nhau. Các tham số tối ưu hóa có thể phù hợp với các chu kỳ khác nhau.

Lợi thế chiến lược

  • DMI kết hợp nhiều chu kỳ đánh giá, tương đối toàn diện

  • So sánh cường độ tương đối, tránh đánh giá số tuyệt đối

  • Các tham số chu kỳ có thể được điều chỉnh linh hoạt để phù hợp với thị trường

Rủi ro chiến lược

  • DMI có một chút chậm trễ, có thể sẽ bỏ lỡ một vòng quay.

  • Cần cẩn thận đặt các tham số chu kỳ

  • Có thể tạo ra nhiều tín hiệu vô hiệu

Tóm tắt

Chiến lược DMI đánh giá chuyển đổi bằng cách so sánh mối quan hệ mạnh yếu của nhiều chu kỳ trung bình. Có thể tối ưu hóa các tham số để thích ứng với môi trường thị trường khác nhau. Tuy nhiên, có sự chậm trễ, cần hỗ trợ các chỉ số khác để đánh giá.

Mã nguồn chiến lược
/*backtest
start: 2023-08-14 00:00:00
end: 2023-09-13 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 31/06/2018
// The related article is copyrighted materialfrom Stocks & Commodities Dec 2009
// My strategy modification.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="CMOaDisparity Index Backtest")
LengthFirst = input(200, minval=1)
LengthSecond = input(50, minval=1)
LengthThird = input(20, minval=1)
ShowFirst = input(type=bool, defval=true)
ShowSecond = input(type=bool, defval=true)
ShowThird = input(type=bool, defval=true)
reverse = input(false, title="Trade reverse")
xEMAFirst = ema(close,LengthFirst)
xEMASecond  = ema(close,LengthSecond)
xEMAThird  = ema(close,LengthThird)
xResFirst = 100 * (close - xEMAFirst) / close
xResSecond = 100 * (close - xEMASecond) / close
xResThird = 100 * (close - xEMAThird) / close
pos = iff(xResThird > xResFirst, -1,
       iff(xResThird < xResSecond, 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(ShowFirst ? xResFirst : na, color=red, title="DIX 1")
plot(ShowSecond ? xResSecond : na, color=blue, title="DIX 2")
plot(ShowThird ? xResThird : na, color=green, title="DIX 3")