Tài nguyên đang được tải lên... tải...

Chiến lược giao dịch chéo giữa FraMA và MA dựa trên chỉ số FRAMA

Tác giả:ChaoZhang, Ngày: 2024-01-15 14:38:48
Tags:

img

Tóm lại

Chiến lược này tính toán đường trung bình di chuyển nhanh ma_fast và đường trung bình di chuyển chậm ma_slow trước, và sau đó kết hợp với đường trung bình di chuyển thích nghi FRAMA. Nó đi dài khi ma_fast vượt qua ma_slow, và đóng vị trí khi ma_slow vượt dưới ma_fast hoặc FRAMA giảm xuống dưới giá đóng.

Chiến lược logic

  1. Tính toán trung bình di chuyển đơn giản 13 ngày ma_fast và trung bình di chuyển đơn giản 26 ngày ma_slow.

  2. Tính toán đường thẳng trung bình động thích nghi FRAMA. Công thức FRAMA phức tạp, ý tưởng chính là điều chỉnh năng động độ mịn α của trung bình động dựa trên giá cao nhất, thấp nhất và biến động của giá.

  3. Đi dài khi ma_fast vượt qua ma_slow. Điều này cho thấy đường trung bình động ngắn hạn bắt đầu di chuyển lên và chạy nhanh hơn đường trung bình dài hạn, phù hợp với các đặc điểm xu hướng.

  4. Khóa vị trí khi ma_slow vượt dưới ma_fast hoặc FRAMA giảm dưới giá đóng.

Phân tích lợi thế

  1. Kết hợp các lợi thế của hệ thống trung bình chuyển động kép và hệ thống trung bình chuyển động thích nghi. Hệ thống MA kép tốt trong việc bắt xu hướng, trong khi hệ thống MA thích nghi lọc tiếng ồn tốt hơn.

  2. Chỉ số FRAMA tự động điều chỉnh các tham số, tránh chủ quan của điều chỉnh tham số thủ công.

  3. Sử dụng hai tín hiệu ra khỏi cho phép bắt kịp thời đảo ngược xu hướng.

Phân tích rủi ro

  1. Crossover trung bình di chuyển kép có thể có whipsaws, dẫn đến tổn thất gián đoạn.

  2. Đường trung bình động thích nghi giới thiệu nhiều thông số hơn, có nguy cơ quá phù hợp.

  3. Chỉ xem xét các yếu tố giá mà không có bộ lọc khối lượng giao dịch, do đó có thể bỏ lỡ cơ hội.

Tối ưu hóa

  1. Kiểm tra các khoảng thời gian MA khác nhau để tìm ra sự kết hợp tối ưu.

  2. Thêm xác nhận âm lượng để tránh các tín hiệu sai, ví dụ như yêu cầu tăng âm lượng.

  3. Tối ưu hóa các quy tắc vào và ra để làm cho chiến lược mạnh mẽ hơn, ví dụ: chỉ nhận tín hiệu trong các mô hình tiếp tục.

Kết luận

Chiến lược này kết hợp hai đường chéo trung bình di chuyển và trung bình di chuyển thích nghi FRAMA, tự động thích nghi với điều kiện thị trường bằng cách điều chỉnh các tham số một cách năng động.


/*backtest
start: 2023-01-14 00:00:00
end: 2024-01-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Fractal Adaptive Moving Average",shorttitle="FRAMA",overlay=true)


ma_fast = sma(close,13)

ma_slow = sma(close,26)
plot(ma_fast,color = green)
plot(ma_slow, color = yellow)
price = input(hl2)
len = input(defval=16,minval=1)
FC = input(defval=1,minval=1)
SC = input(defval=198,minval=1)
len1 = len/2
w = log(2/(SC+1))
H1 = highest(high,len1)
L1 = lowest(low,len1)
N1 = (H1-L1)/len1
H2 = highest(high,len)[len1]
L2 = lowest(low,len)[len1]
N2 = (H2-L2)/len1
H3 = highest(high,len)
L3 = lowest(low,len)
N3 = (H3-L3)/len
dimen1 = (log(N1+N2)-log(N3))/log(2)
dimen = iff(N1>0 and N2>0 and N3>0,dimen1,nz(dimen1[1]))
alpha1 = exp(w*(dimen-1))
oldalpha = alpha1>1?1:(alpha1<0.01?0.01:alpha1)
oldN = (2-oldalpha)/oldalpha
N = (((SC-FC)*(oldN-1))/(SC-1))+FC
alpha_ = 2/(N+1)
alpha = alpha_<2/(SC+1)?2/(SC+1):(alpha_>1?1:alpha_)
out = (1-alpha)*nz(out[1]) + alpha*price
plot(out,title="FRAMA",color=purple,transp=0)
entry() => crossover(ma_fast, ma_slow) and (out < close)
exit() => crossover(ma_slow, ma_fast) or crossunder(out, close)

strategy.entry(id= "MA cross", long = true, when = entry())
strategy.close(id= "MA cross", when = exit())

Thêm nữa