Chiến lược WAMI

Tác giả:ChaoZhang, Ngày: 2023-12-13 17:42:01
Tags:

img

Tổng quan

Chiến lược WAMI là một chiến lược giao dịch dựa trên phân tích Fourier nhằm mục đích tìm kiếm các giao dịch nhất quán và có lợi nhuận trên dữ liệu thị trường lịch sử thông qua một quá trình tối ưu hóa lặp đi lặp lại. Nó kết hợp Trung bình Di chuyển Xuất sắc (EMA), Trung bình Di chuyển Tường trọng (WMA) và Chỉ số Động lực (MOM) để tạo thành một chỉ số giao dịch tổng hợp được gọi là WAMI. Khi WAMI vượt qua trên hoặc dưới ngưỡng, chiến lược sẽ phát ra tín hiệu mua hoặc bán.

Chiến lược logic

Chỉ số cốt lõi của chiến lược này là WAMI. Việc tính toán của nó là: đầu tiên tính toán động lượng của giá, sau đó lấy WMA n ngày, và cuối cùng thực hiện EMA hai lần để lấy WAMI cuối cùng. Trong số đó, động lượng phản ánh tốc độ thay đổi giá, WMA lọc ra tiếng ồn ngắn hạn và EMA làm mịn giá.

Khi WAMI tăng trên ngưỡng nhất định, một tín hiệu mua được tạo ra, ngụ ý một xu hướng tăng đang hình thành trên thị trường. Khi giảm dưới ngưỡng, một tín hiệu bán được tạo ra, có nghĩa là xu hướng giảm đã bắt đầu. Người dùng có thể điều chỉnh ngưỡng dựa trên kết quả backtest để tối ưu hóa chiến lược tốt hơn.

Phân tích lợi thế

Chiến lược này kết hợp phân tích theo xu hướng và mua quá mức, có thể nắm bắt xu hướng giá trung hạn đến dài hạn trong khi tránh bị mắc kẹt.

Những lợi thế chính là:

  1. Tối ưu hóa Fourier cải thiện điều chỉnh tham số
  2. Bộ lọc EMA đôi làm giảm tín hiệu sai
  3. WMA + MOM combo cải thiện độ nhạy
  4. linh hoạt cho cả giao dịch ngắn hạn và dài hạn

Phân tích rủi ro

Ngoài ra còn có một số rủi ro với chiến lược này:

  1. Quá trình tối ưu hóa phức tạp, cài đặt không đúng có thể thất bại
  2. Hiệu suất giảm trên các thị trường khác nhau
  3. Hiệu suất phụ thuộc rất nhiều vào cài đặt tham số
  4. Chậm để chuyển sang đảo ngược xu hướng

Những rủi ro này có thể được giảm bằng cách điều chỉnh sự kết hợp các tham số, thiết lập dừng lỗ, và có kỳ vọng lợi nhuận hợp lý. Chiến lược nên được dừng lại hoặc giảm kích thước vị trí khi thị trường trở nên quá biến động.

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

Một số khía cạnh của chiến lược này có thể được tối ưu hóa thêm:

  1. Kiểm tra nhiều bộ tham số để tìm tối ưu
  2. Thêm các điều kiện hỗ trợ như bộ lọc âm lượng cho các mục
  3. Tích hợp các cơ chế dừng lỗ
  4. Kết hợp với các chỉ số khác để đánh giá xu hướng tổng thể
  5. Điều chỉnh động các tham số để phù hợp với môi trường thị trường thay đổi

Kết luận

Tóm lại, Chiến lược WAMI là một chiến lược theo xu hướng trung hạn đến dài hạn được khuyến cáo. Bằng cách phân tích kỹ lưỡng các thay đổi giá và khối lượng, nó tạo ra các tín hiệu giao dịch chất lượng. Với tối ưu hóa tham số và kiểm soát rủi ro thích hợp, chiến lược này có thể đạt được lợi nhuận ổn định. Tuy nhiên, người dùng nên lưu ý rằng bất kỳ chiến lược nào cũng có thể thất bại, vì vậy đánh giá thận trọng là điều bắt buộc trước khi cam kết vốn thực sự.


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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 17/01/2017
// The WAMI-based trading lies in the application and iteration of the 
// optimization process until the indicated trades on past market data 
// give consistent, profitable results. It is rather difficult process 
// based on Fourier analysis. 
// You can to change Trigger parameter for to get best values of strategy.
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="WAMI Strategy", shorttitle="WAMI Strategy")
Length_EMA = input(13, minval=1)
Length_WMA = input(4, minval=1)
Trigger = input(0)
reverse = input(false, title="Trade reverse")
hline(Trigger, color=purple, linestyle=line)
xWAMI = ema(ema(wma(mom(close, 1),Length_WMA),Length_EMA),Length_EMA)
pos = iff(xWAMI > Trigger, 1,
	   iff(xWAMI < Trigger, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xWAMI, color=blue, title="WAMI")

Thêm nữa