Xu hướng sau chiến lược trung bình di chuyển kép

Tác giả:ChaoZhang, Ngày: 2023-10-25 11:42:23
Tags:

img

Tổng quan

Chỉ số ADXR có thể xác định hiệu quả những thay đổi trong xu hướng, và các chỉ số chuyển động kép có thể lọc thêm một số tín hiệu sai. Chiến lược này phù hợp cho các thị trường xu hướng như cổ phiếu và ngoại hối để có lợi nhuận tốt hơn trong các thị trường giới hạn phạm vi.

Chiến lược logic

  1. Tính toán giá trị chỉ số ADXR. ADX phản ánh sức mạnh của xu hướng; ADXR làm mịn ADX và hiển thị xu hướng tốt hơn.

  2. Thiết lập ngưỡng hai cho chỉ số ADXR. Khi ADXR vượt qua ngưỡng đầu tiên, nó chỉ ra xu hướng tăng. Khi vượt qua dưới ngưỡng thứ hai, nó chỉ ra xu hướng giảm.

  3. Xác định hướng vị trí dựa trên tín hiệu ADXR. Đi dài khi ADXR vượt qua ngưỡng đầu tiên và đi ngắn khi vượt qua ngưỡng thứ hai.

  4. Bộ lọc tín hiệu với đường trung bình động kép. Chỉ mua dài khi giá vượt quá đường MA nhanh, và chỉ mua ngắn khi giá dưới đường MA chậm. Việc lọc này tránh giao dịch sai trong thời gian đảo ngược xu hướng.

  5. Màu các ngọn nến dựa trên hướng vị trí.

Phân tích lợi thế

  1. ADXR làm mịn các biến động giá và xác định hiệu quả xu hướng, tránh rủi ro giao dịch từ các thị trường khác nhau.

  2. Việc lọc hai đường trung bình động làm giảm lượng rút vốn bằng cách tránh tổn thất từ sự đảo ngược xu hướng.

  3. Kết hợp chỉ số xu hướng và đường trung bình động đảm bảo giao dịch theo xu hướng trong khi kiểm soát rủi ro, phù hợp với thị trường xu hướng.

  4. Logic chiến lược là đơn giản và linh hoạt để điều chỉnh tham số cho các môi trường thị trường khác nhau.

Phân tích rủi ro

  1. Các thông số ADXR không chính xác có thể không thể nắm bắt kịp thời những thay đổi xu hướng.

  2. Các thông số trung bình động không đúng có thể lọc quá nhiều tín hiệu hợp lệ. Các thông số nên được điều chỉnh theo điều kiện thị trường.

  3. Bất kỳ chỉ số nào cũng có thể đưa ra tín hiệu sai.

  4. Giảm kích thước vị trí trên các thị trường khác nhau để hạn chế lỗ.

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

  1. Các chỉ số khác như MACD và Bollinger Bands có thể được thêm vào để xác nhận tín hiệu ADXR và cải thiện độ chính xác.

  2. Các chiến lược dừng lỗ như dừng lại và dừng thời gian có thể được thêm vào để giới hạn mỗi lỗ giao dịch.

  3. Tối ưu hóa các tham số dựa trên hiệu quả thị trường, chẳng hạn như thời gian trung bình dài hơn cho các thị trường có hiệu quả thấp.

  4. Kết hợp các chiến lược quản lý tiền như định hình định dạng vị trí phân số để kiểm soát tốt hơn rủi ro tổng thể.

Kết luận

Chiến lược này là một chiến lược theo xu hướng điển hình, sử dụng ADXR để xác định hướng xu hướng và trung bình động kép để giảm rút. Những lợi thế nằm trong sự đơn giản và linh hoạt của nó để được điều chỉnh cho các thị trường khác nhau. Nhưng bất kỳ chỉ số kỹ thuật nào cũng có thể cung cấp tín hiệu sai, và rủi ro nên được quản lý bằng bộ lọc xu hướng và quản lý tiền. Với điều chỉnh tham số thích hợp, chiến lược này có thể đạt được lợi nhuận điều chỉnh rủi ro tốt cho các thị trường xu hướng.


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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 04/05/2018
// The Average Directional Movement Index Rating (ADXR) measures the strength 
// of the Average Directional Movement Index (ADX). It's calculated by taking 
// the average of the current ADX and the ADX from one time period before 
// (time periods can vary, but the most typical period used is 14 days).
// Like the ADX, the ADXR ranges from values of 0 to 100 and reflects strengthening 
// and weakening trends. However, because it represents an average of ADX, values 
// don't fluctuate as dramatically and some analysts believe the indicator helps 
// better display trends in volatile markets.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
fADX(Len) =>
    up = change(high)
    down = -change(low)
    trur = rma(tr, Len)
    plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, Len) / trur)
    minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, Len) / trur)
    sum = plus + minus 
    100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), Len)

strategy(title="Average Directional Movement Index Rating Backtest", shorttitle="ADXR")
LengthADX = input(title="Length ADX", defval=14)
LengthADXR = input(title="Length ADXR", defval=14)
reverse = input(false, title="Trade reverse")
Signal1 = input(13, step=0.01)
Signal2 = input(45, step=0.01)
hline(Signal1, color=green, linestyle=line)
hline(Signal2, color=red, linestyle=line)
xADX = fADX(LengthADX)
xADXR = (xADX + xADX[LengthADXR]) / 2
pos = iff(xADXR < Signal1, 1,
       iff(xADXR > Signal2, -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(xADXR, color=green, title="ADXR")

Thêm nữa