Chiến lược thời gian ADX trung bình động kép


Ngày tạo: 2023-12-06 15:48:29 sửa đổi lần cuối: 2023-12-06 15:48:29
sao chép: 0 Số nhấp chuột: 783
1
tập trung vào
1619
Người theo dõi

Chiến lược thời gian ADX trung bình động kép

Tổng quan

Chiến lược ADX chọn hai đường trung bình để xác định xu hướng bằng cách kết hợp sử dụng đường trung bình 2 / 20 và chỉ số ADXR để tạo ra tín hiệu giao dịch ở giai đoạn bắt đầu của xu hướng. Chiến lược này sử dụng đường trung bình di chuyển chỉ số 2 / 20 để xác định hướng xu hướng giá, sau đó kết hợp với chỉ số ADXR để xác nhận thêm tín hiệu xu hướng, để tạo ra tín hiệu giao dịch đáng tin cậy hơn.

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

Logic cốt lõi của chiến lược chọn thời điểm ADX đường hai đều dựa trên các phần sau:

  1. Chỉ số chuyển động trung bình 220 (EMA)

    • Sử dụng hai tham số EMA khác nhau vào ngày 2 và ngày 20.
    • Động thái này được coi là một tín hiệu bullish khi giá vượt qua EMA 2 ngày.
    • Khi giá vượt qua đường EMA 20 ngày, đó là tín hiệu giảm giá.
  2. Chỉ số ADXR

    • Chỉ số ADXR là biến thể của chỉ số ADX.
    • Giảm biến động của chỉ số ADX bằng cách tính trung bình đơn giản của ADX.
    • ADXR thấp hơn một ngưỡng có nghĩa là xu hướng yếu hơn.
    • ADXR cao hơn một ngưỡng có nghĩa là xu hướng mạnh hơn.
  3. Tín hiệu giao dịch

    • Một tín hiệu lạc quan được tạo ra khi EMA Golden Cross AND ADXR ngày 2 cao hơn mức suy giảm.
    • Một tín hiệu giảm giá được tạo ra khi EMA 20 Dead Cross AND ADXR thấp hơn mức giảm giá.
    • Bằng cách kết hợp với các chỉ số ADXR, bạn có thể lọc ra một số giả định và tăng cường tín hiệu xu hướng thực sự.

Sự đổi mới chính của chiến lược này là sử dụng chỉ số ADXR để xác định xu hướng giai đoạn đầu và kết hợp với tín hiệu của chiến lược đồng tuyến truyền thống để cải thiện chất lượng tín hiệu và tăng cường sự ổn định của chiến lược.

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

Chiến lược chọn ADX đường hai chiều có những lợi thế chính sau:

  1. Kết hợp với đường cân bằng kép và chỉ số ADXR, tín hiệu chính xác hơn và đáng tin cậy hơn, có thể lọc tín hiệu giả.
  2. Việc sử dụng chỉ số ADXR để xác định xu hướng ở giai đoạn đầu có thể giúp xác định xu hướng sớm hơn.
  3. Các tham số ADXR được thiết lập linh hoạt, có thể được điều chỉnh theo thị trường và thích ứng với những thay đổi trong thực tế.
  4. Logic của chiến lược đơn giản, rõ ràng, dễ hiểu, điều chỉnh tham số dễ dàng.
  5. Có thể sử dụng trong nhiều môi trường thị trường, kiểm tra lịch sử hoạt động tốt.

Rủi ro chiến lược

Các rủi ro chính của chiến lược ADX đường hai là:

  1. Thiết lập tham số ADXR không đúng có thể dẫn đến cơ hội giao dịch bị bỏ lỡ.

    • Các tham số của ADXR có thể được mở rộng một cách thích hợp, hoặc điều chỉnh các tham số theo các giống khác nhau.
  2. Trong những trường hợp đặc biệt, tín hiệu giả có thể xuất hiện nhiều hơn.

    • Có thể xem xét sử dụng kết hợp với các chỉ số khác để lọc thêm tín hiệu.
  3. Các tham số EMA là cố định, không thể thích ứng với sự thay đổi của thị trường.

    • Bạn có thể thử sử dụng phiên bản tối ưu hóa thích nghi với tham số EMA.
  4. Không thể xác định được vùng dao động giá, có thể tạo ra quá nhiều giao dịch không hiệu quả.

    • Có thể thêm các phán đoán logic bổ sung hoặc các chỉ số nhận diện động đất.

Hướng tối ưu hóa chiến lược

Các chiến lược khi chọn ADX đường hai đều có thể được tối ưu hóa hơn nữa từ các khía cạnh sau:

  1. Các tham số của EMA được tối ưu hóa để có thể thay đổi tự động theo thời gian.

  2. Phạm vi tham số ADXR được tối ưu hóa để chứa nhiều tín hiệu giao dịch hiệu quả hơn.

  3. Thêm thêm các chỉ số đánh giá xu hướng, tạo tín hiệu kết hợp, nâng cao chất lượng.

  4. Tăng chiến lược dừng lỗ, thiết lập tiêu chuẩn chặn, kiểm soát rủi ro giao dịch đơn lẻ.

  5. Tối ưu hóa chiến lược quản lý tiền để nó có thể tự động điều chỉnh vị trí theo trạng thái tài khoản.

Tóm tắt

Chiến lược ADX chọn thời gian hai chiều bằng cách kết hợp sáng tạo của chiến lược hai chiều truyền thống với chỉ số ADXR, cải thiện chất lượng tín hiệu, tăng cường sự ổn định của chiến lược, có thể xác định hiệu quả giai đoạn đầu của xu hướng, phản hồi lịch sử hoạt động tốt hơn. Chiến lược này có không gian tối ưu hóa lớn và có thể cải thiện nhiều mặt, cho phép nó thể hiện khả năng thích ứng mạnh mẽ và lợi nhuận trong thị trường phức tạp hơn.

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

//@version=5
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 04/04/2022
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov 
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
// 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.
//
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
EMA20(Length) =>
    pos = 0.0
    xPrice = close
    xXA = ta.ema(xPrice, Length)
    nHH = math.max(high, high[1])
    nLL = math.min(low, low[1])
    nXS = nLL > xXA or nHH < xXA ? nLL : nHH
    iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0)
    pos := nXS > close[1] ? -1 : iff_1
    pos

fADX(Len) =>
    up = ta.change(high)
    down = -ta.change(low)
    trur = ta.rma(ta.tr, Len)
    plus = fixnan(100 * ta.rma(up > down and up > 0 ? up : 0, Len) / trur)
    minus = fixnan(100 * ta.rma(down > up and down > 0 ? down : 0, Len) / trur)
    sum = plus + minus 
    100 * ta.rma(math.abs(plus - minus) / (sum == 0 ? 1 : sum), Len)

ADXR(LengthADX,LengthADXR,Signal1,Signal2) =>
    pos = 0.0
    xADX = fADX(LengthADX)
    xADXR = (xADX + xADX[LengthADXR]) / 2
    pos := xADXR < Signal1 ? 1 : xADXR > Signal2 ? -1 : nz(pos[1], 0) 
    pos

strategy(title='Combo 2/20 EMA & ADXR', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════ ADXR  ═════●'
LengthADX = input(title="Length ADX", defval=14)
LengthADXR = input(title="Length ADXR", defval=14)
Signal1 = input.float(13, step=0.01)
Signal2 = input.float(45, step=0.01)
var misc = '●═════ MISC ═════●'
reverse = input.bool(false, title='Trade reverse', group=misc)
var timePeriodHeader = '●═════ Time Start ═════●'
d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader)
m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader)
y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader)
StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false
posEMA20 = EMA20(Length)
prePosADXR = ADXR(LengthADX,LengthADXR,Signal1,Signal2)
iff_1 = posEMA20 == -1 and prePosADXR == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosADXR == 1 and StartTrade ? 1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig = reverse and pos == 1 ? -1 : iff_2
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)