
Chiến lược này đầu tiên 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, sau đó kết hợp FRAMA với đường trung bình di chuyển thích nghi, làm nhiều khi đi ma_slow trên ma_fast, giữ trơn khi đi ma_fast dưới ma_slow hoặc đóng cửa khi đi FRAMA.
Tính 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
Công thức tính toán của FRAMA là phức tạp hơn, ý tưởng chính là làm mịn đường trung bình dựa trên giá cao nhất, giá thấp nhất và động lực biến động.
Khi mặc ma_slow trên ma_fast, hãy làm nhiều hơn. Điều này cho thấy đường trung bình ngắn hạn bắt đầu tăng và chạy để giành chiến thắng đường trung bình dài hạn, phù hợp với đặc điểm của xu hướng.
Khi giá ma_slow vượt qua giá ma_fast hoặc giá đóng cửa vượt qua giá FRAMA. Điều này cho thấy tín hiệu đảo ngược xu hướng.
Kết hợp các ưu điểm của hệ thống song song song và hệ thống song song tự thích nghi. Hệ thống song song song giỏi nắm bắt xu hướng, hệ thống song song tự thích nghi có thể lọc tiếng ồn tốt hơn.
Chỉ số FRAMA có thể tự động điều chỉnh tham số, tránh chủ quan về tham số được chọn bằng tay.
Sử dụng hai tín hiệu thoát cùng một lúc, bạn có thể bắt kịp xu hướng đảo ngược.
Có thể có sự sai lệch giữa hai đường giao nhau, có thể gây ra tổn thất gián đoạn.
Chuyển đổi các moving average sẽ làm tăng số tham số của chiến lược, có thể dẫn đến quá tối ưu hóa.
Nếu bạn chỉ xem xét giá cả mà không tính toán khối lượng giao dịch, bạn có thể bỏ lỡ cơ hội.
Bạn có thể thử các kết hợp đường trung bình của các chu kỳ khác nhau để tìm tham số tối ưu.
Có thể thêm xác nhận số lượng giao dịch để tránh các tín hiệu không có hiệu lực. Ví dụ như điều kiện tăng số lượng giao dịch đột biến.
Có thể tối ưu hóa các điều kiện mở vị trí và vị trí, làm cho chiến lược ổn định hơn. Ví dụ: chỉ mở vị trí khi phá vỡ hình thức tiếp tục.
Chiến lược này kết hợp giao thoa đường hai chiều và đường trung bình tự điều chỉnh FRAMA, tự động thích ứng với môi trường thị trường bằng cách điều chỉnh các tham số một cách động. đường hai chiều là giỏi trong việc bắt được xu hướng, FRAMA có thể lọc tiếng ồn. Sử dụng hai tín hiệu bằng phẳng đồng thời làm cho chiến lược ổn định hơn. Bước tiếp theo có thể tối ưu hóa các tham số hơn, thêm xác nhận giao hàng, làm cho chiến lược trở nên hoàn hảo hơn.
/*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())