Chiến lược đường trung bình động kép GM-8 & ADX

ADX EMA
Ngày tạo: 2024-04-30 15:50:57 sửa đổi lần cuối: 2024-04-30 15:50:57
sao chép: 8 Số nhấp chuột: 576
1
tập trung vào
1617
Người theo dõi

Chiến lược đường trung bình động kép GM-8 & ADX

Tổng quan

Chiến lược GM-8 & ADX là một chiến lược giao dịch định lượng kết hợp nhiều chỉ số kỹ thuật. Chiến lược này sử dụng chỉ số GM-8, chỉ số ADX và chỉ số EMA thứ hai để xác định tín hiệu mua bán tiềm năng. Chỉ số GM-8 được sử dụng để đánh giá xu hướng giá, chỉ số ADX được sử dụng để xác nhận cường độ xu hướng và chỉ số EMA thứ hai được sử dụng để hỗ trợ đánh giá xu hướng.

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

Các nguyên tắc của GM-8 & ADX là:

  1. Tính toán chỉ số GM-8 để xác định xu hướng giá. Khi giá đóng cửa vượt trên/dưới đường trung bình GM-8, nó cho thấy xu hướng có thể đảo ngược.
  2. Tính ADX để xác định cường độ của xu hướng. Khi chỉ số ADX cao hơn ngưỡng ((như 34), cho thấy xu hướng hiện tại mạnh, có thể xem xét nhập cảnh.
  3. Tính toán chỉ số EMA thứ hai để hỗ trợ định hướng xu hướng. Khi giá ở trên EMA thứ hai, xu hướng làm nhiều hơn; ngược lại, xu hướng làm ít hơn.
  4. Ghi lại GM-8, ADX và EMA thứ hai, tạo ra tín hiệu mua và bán:
    • Tạo nhiều tín hiệu: Đặt GM-8 trung bình trên giá đóng cửa hiện tại, và cao hơn GM-8 và EMA thứ hai, trong khi ADX cao hơn ngưỡng.
    • Tín hiệu tháo lỗ: Đường trung bình GM-8 dưới giá đóng cửa hiện tại, và thấp hơn GM-8 và EMA thứ hai, trong khi ADX cao hơn ngưỡng.
  5. Một khi đã vào sân, các tín hiệu giữ cho đến khi ra sân xuất hiện:
    • Tín hiệu Punto: Đường trung bình GM-8 dưới giá đóng cửa hiện tại, và thấp hơn GM-8
    • Tín hiệu phẳng: GM-8 trung bình trên giá đóng cửa hiện tại và cao hơn GM-8

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

  1. Kết hợp nhiều chỉ số để tăng độ tin cậy tín hiệu: Chiến lược tổng hợp xem xét các chỉ số xu hướng (GM-8), chỉ số cường độ xu hướng (ADX) và chỉ số hướng xu hướng (EMA), có thể lọc hiệu quả một số tín hiệu giả.
  2. Các tham số có thể điều chỉnh, linh hoạt cao: Các tham số của chiến lược như chu kỳ GM-8, chu kỳ ADX, ADX, chu kỳ EMA thứ hai, v.v. có thể được điều chỉnh theo đặc điểm thị trường và sở thích cá nhân để phù hợp với phong cách giao dịch khác nhau.
  3. Logic rõ ràng, dễ thực hiện: Logic giao dịch của chiến lược này tương đối đơn giản, dễ hiểu và dễ thực hiện, phù hợp cho người giao dịch mới học cách sử dụng.

Rủi ro chiến lược

  1. Sự chậm trễ trong nhận dạng xu hướng: Các chỉ số thuộc loại xu hướng như GM-8 là các chỉ số chậm trễ về bản chất, có thể có sự chậm trễ trong nhận dạng xu hướng, dẫn đến việc bỏ lỡ thời gian nhập cảnh tốt nhất hoặc làm tăng tổn thất.
  2. Giao dịch thường xuyên: Chiến lược này có nhiều tín hiệu mua và bán tương đối, có thể dẫn đến giao dịch thường xuyên, tăng chi phí phí, và có thể không hoạt động tốt trong thị trường biến động.
  3. Khó khăn trong việc chọn tham số: Chiến lược này bao gồm nhiều tham số, tìm kiếm sự kết hợp tham số tối ưu đòi hỏi rất nhiều công việc phản hồi và phân tích, có một số khó khăn cho người mới bắt đầu.

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

  1. Thêm điều kiện lọc: Ngoài GM-8, ADX và EMA, các chỉ số hỗ trợ khác như lưu lượng truy cập, tỷ lệ dao động và nhiều hơn nữa có thể được thêm vào để cải thiện chất lượng tín hiệu.
  2. Tối ưu hóa thời gian nhập và thoát: Có thể xem xét việc đưa ra các phương pháp như xây dựng vị trí dần dần và dừng lỗ dần dần để giảm rủi ro giao dịch đơn lẻ và nâng cao khả năng lợi nhuận tổng thể.
  3. Tham số điều chỉnh động: tùy thuộc vào sự thay đổi của tình trạng thị trường, tham số chiến lược điều chỉnh động, chẳng hạn như sử dụng chu kỳ GM-8 dài hơn trong thị trường xu hướng, sử dụng chu kỳ GM-8 ngắn hơn trong thị trường chấn động.
  4. Tham gia quản lý vị trí: Kiểm soát kích thước vị trí của mỗi giao dịch dựa trên các yếu tố như tình trạng tài chính của tài khoản và sở thích rủi ro, tránh rủi ro tập trung quá mức.

Tóm tắt

Chiến lược GM-8 & ADX là một chiến lược giao dịch định lượng cổ điển, sử dụng kết hợp nhiều chỉ số kỹ thuật để xác định tín hiệu mua và bán. Ưu điểm của chiến lược này là logic đơn giản và rõ ràng, tín hiệu tương đối đáng tin cậy, phù hợp cho người mới học sử dụng. Nhưng đồng thời cũng có những rủi ro như trì trệ nhận diện xu hướng, giao dịch thường xuyên, khó chọn tham số.

Mã nguồn chiến lược
/*backtest
start: 2023-04-24 00:00:00
end: 2024-04-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("GM-8 and ADX Strategy with Second EMA", overlay=true)

// Input parameters
gm_period = input(15, title="GM-15 Period")
second_ema_period = input(59, title="Second EMA Period")
adx_period = input(8, title="ADX Period")
adx_threshold = input(34, title="ADX Threshold")
lot_size = input.float(0.4, title="Lot Size")

// Calculate the ADX manually
adx(high, low, close, length) =>
    sum_truerange = 0.0
    sum_plusDM = 0.0
    sum_minusDM = 0.0
    for i = 1 to length
        truerange_calc = high[i] - low[i]
        truerange_prev_close = high[i] - close[i-1]
        truerange_close = low[i] - close[i-1]
        truerange_calc := truerange_prev_close > truerange_calc ? truerange_prev_close : truerange_calc
        truerange_calc := truerange_close > truerange_calc ? truerange_close : truerange_calc
        sum_truerange := sum_truerange + truerange_calc
        plusDM = high[i] - high[i-1] > low[i-1] - low[i] and high[i] - high[i-1] > 0 ? high[i] - high[i-1] : 0
        sum_plusDM := sum_plusDM + plusDM
        minusDM = low[i-1] - low[i] > high[i] - high[i-1] and low[i-1] - low[i] > 0 ? low[i-1] - low[i] : 0
        sum_minusDM := sum_minusDM + minusDM
    plusDI = sum_plusDM / sum_truerange * 100
    minusDI = sum_minusDM / sum_truerange * 100
    sumDI = plusDI + minusDI
    adx_value = 100 * (plusDI - minusDI) / (sumDI == 0 ? 1 : sumDI)

// Calculate indicators
gm_8 = ta.sma(close, gm_period)
second_ema = ta.ema(close, second_ema_period)
adx_value = adx(high, low, close, adx_period)

// Define buy and sell conditions
buy_condition = ta.crossover(close, gm_8) and close > gm_8 and close > second_ema and adx_value > adx_threshold
sell_condition = ta.crossunder(close, gm_8) and close < gm_8 and close < second_ema and adx_value > adx_threshold

// Entry and exit logic
if (buy_condition)
    strategy.entry("Buy", strategy.long, qty=lot_size)

if (sell_condition)
    strategy.entry("Sell", strategy.short, qty=lot_size)

// Exit conditions
exit_buy_condition = ta.crossunder(close, gm_8) and close < gm_8
exit_sell_condition = ta.crossover(close, gm_8) and close > gm_8

if (exit_buy_condition)
    strategy.close("Buy")

if (exit_sell_condition)
    strategy.close("Sell")