EMA Crossover Trend Theo chiến lược

Tác giả:ChaoZhang, Ngày: 2023-12-27 16:31:15
Tags:

img

Tổng quan

Chiến lược này áp dụng EMA chéo để theo dõi xu hướng giá. Nó đi dài khi EMA nhanh vượt qua trên EMA chậm, và đóng vị trí khi EMA nhanh vượt qua dưới EMA chậm. Chủ yếu phù hợp với các sản phẩm có xu hướng rõ ràng, theo xu hướng hiệu quả và thu lợi nhuận dư thừa.

Chiến lược logic

Chỉ số cốt lõi của chiến lược này là EMA.

EMA (t) = C (t) ×2/ (n+1) + EMA (t-1) × (n-1) / (n+1)

EMA là một kỹ thuật trung bình động với yếu tố cân nhắc, gán trọng lượng nhiều hơn cho giá gần đây, do đó phản ứng nhanh hơn với những thay đổi giá mới nhất.

Chiến lược xây dựng EMA nhanh và chậm và sử dụng EMA nhanh vượt qua trên EMA chậm như tín hiệu mua, và EMA nhanh vượt qua dưới EMA chậm như tín hiệu bán.

Phân tích lợi thế

Những lợi thế của chiến lược này là:

  1. Logic là đơn giản và dễ hiểu và thực hiện;
  2. Sử dụng EMA đơn giản và thực tế để đánh giá xu hướng giá, tránh bỏ lỡ xu hướng chính;
  3. Một số tham số để điều chỉnh và tối ưu hóa, chủ yếu dựa trên EMA nhanh và chậm;
  4. Có khả năng theo dõi xu hướng tăng sau khi mua;
  5. Có thể tránh thu hồi sau khi bán, giảm thiểu rủi ro;
  6. Dữ liệu backtest đủ với độ tin cậy cao.

Phân tích rủi ro

Những rủi ro chính là:

  1. Khả năng cao của tín hiệu sai từ EMA;
  2. tín hiệu thường xuyên khi thị trường dao động như EMA dễ dàng giao nhau;
  3. Không thể dừng mất mát kịp thời khi các sự kiện đột ngột gây ra sự thay đổi hướng đột ngột;
  4. Không gian tối ưu hóa hạn chế mà hiệu suất thực tế có thể hoạt động kém hơn kết quả backtest.

Để giảm các rủi ro trên, các biện pháp tối ưu hóa sau đây có thể được áp dụng:

  1. Thêm các điều kiện bộ lọc với các chỉ báo khác để tránh tín hiệu sai;
  2. Điều chỉnh các thông số để giảm tần số tín hiệu;
  3. Thêm chiến lược dừng lỗ để kiểm soát lỗ đơn;
  4. Kiểm tra các thông số thời gian khác nhau để tìm ra tối ưu.

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

Chiến lược có thể được tối ưu hóa từ các khía cạnh sau:

  1. Các chỉ số tổng hợp trên nhiều khung thời gian, ví dụ như kết hợp xu hướng hàng tuần hoặc hàng tháng;
  2. Thêm các điều kiện lọc để tránh đột phá sai, ví dụ: khối lượng, Bollinger Bands v.v.;
  3. Điều chỉnh động các thông số theo sự thay đổi thị trường thời gian thực;
  4. Kết hợp các chỉ số khác để xây dựng mô hình, ví dụ như lưới, thuật toán hồi quy.

Tóm lại

Nói tóm lại, đây là một chiến lược theo xu hướng đơn giản và thực tế sử dụng EMA để đánh giá xu hướng giá. Logic là rõ ràng và dễ thực hiện. Những lợi thế nằm trong sự đơn giản để điều chỉnh các tham số và theo dõi xu hướng hiệu quả. Những nhược điểm dễ bị tín hiệu sai và hiệu suất thực tế có thể hoạt động kém hơn các bài kiểm tra.


/*backtest
start: 2022-12-20 00:00:00
end: 2023-12-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("EMA交叉策略by GPT",
     format = format.inherit,
     overlay = true,
     default_qty_type= strategy.percent_of_equity,
     default_qty_value = 100,
     currency = currency.USD,
     initial_capital = 1000000)


// 定義回測交易開始和結束時間的變數
start_time = input(title="開始時間", type=input.time, defval=timestamp("01 Jan 2020 00:00 +0000"))
end_time = input(title="結束時間", type=input.time, defval=timestamp("31 Dec 2050 23:59 +0000"))


// 判斷是否在回測交易時間範圍內
in_range = true


// Define input variables
fast_length = input(title="Fast EMA Length", type=input.integer, defval=5)
slow_length = input(title="Slow EMA Length", type=input.integer, defval=20)


// Define EMAs
fast_ema = ema(close, fast_length)
slow_ema = ema(close, slow_length)


// Define buy and sell signals
buy_signal = crossover(fast_ema, slow_ema)
sell_signal = crossunder(fast_ema, slow_ema)


// Buy signal
if in_range and buy_signal
    strategy.entry("Buy", strategy.long, when=in_range)
   
// Sell signal
if in_range and sell_signal
    strategy.close("Buy", when=sell_signal)

Thêm nữa