Chiến lược này dựa trên Trình dao động Stochastic trung bình để đánh giá tín hiệu giao dịch và thuộc về một chiến lược theo xu hướng. Nó tính toán các giá trị trung bình động của %K và %D của Trình dao động Stochastic trung bình. Khi đường chéo vàng xảy ra, đi dài. Khi đường chéo chết xảy ra, đi ngắn. Đây là một chiến lược theo xu hướng điển hình.
Tính toán các giá trị của %K và %D của Trình dao động Stochastic trung bình. %K là trung bình động của các giá trị ngẫu nhiên được tính dựa trên giá đóng trong một khoảng thời gian nhất định, phản ánh vị trí tương đối của giá hiện tại với giá cao nhất và thấp nhất trong một khoảng thời gian nhất định. %D là trung bình động của %K được sử dụng để xác nhận xu hướng.
Mức trung bình di chuyển trơn tru theo cấp số nhân (EMA) được áp dụng cho %K và %D tương ứng để lấy giá trị trung bình _avg_k và _avg_d của Trình dao động Stochastic trung bình.
Xác định tín hiệu giao dịch:
Tín hiệu mua: khi _avg_k vượt qua _avg_d và _avg_d < 20, đi dài.
Tín hiệu bán: khi _avg_k vượt dưới _avg_d và _avg_d > 80, đi ngắn.
Quản lý vị trí:
Đặt lỗ dừng dài: đóng dài khi _avg_d > 80
Thất bại dừng ngắn: đóng ngắn khi _avg_d < 20
Cho phép tối đa 3 lệnh theo cùng một hướng, đó là một chiến lược kim tự tháp.
Sử dụng hai đường trung bình di chuyển để xác định thập giá vàng và thập giá chết có thể lọc hiệu quả các đột phá sai và cải thiện chất lượng tín hiệu.
Sử dụng Trình dao động Stochastic trung bình có thể theo dõi hiệu quả xu hướng giá.
Kết hợp các khu vực mua quá mức và bán quá mức giúp tránh giao dịch thường xuyên trên thị trường giới hạn phạm vi.
Cho phép kim tự tháp có thể kiếm được nhiều lợi nhuận hơn trong thị trường xu hướng.
Chiến lược dừng lỗ kiểm soát lỗ duy nhất.
Chiến lược giao dịch trung bình động kép có xu hướng tạo ra giao dịch thường xuyên, điều này sẽ ảnh hưởng đến lợi nhuận nếu chi phí giao dịch quá cao.
Sử dụng các điểm dừng lỗ cố định có thể dừng lỗ quá sớm khi thoát khỏi xu hướng.
Quá nhiều hình kim tự tháp có thể làm tăng sự mất mát.
Nó không thể xác định hiệu quả các điểm đảo ngược xu hướng và có thể dẫn đến tổn thất lớn khi xu hướng đảo ngược.
Các khoảng thời gian tham số cần được tối ưu hóa vì các khoảng thời gian khác nhau có thể dẫn đến kết quả rất khác nhau.
Xem xét việc giới thiệu các chỉ số đánh giá xu hướng để tránh giao dịch ngược xu hướng.
Điều chỉnh động các điểm dừng lỗ để phù hợp với xu hướng tốt hơn.
Tối ưu hóa chiến lược kim tự tháp, ví dụ, tăng kích thước vị trí dần dần.
Bao gồm các chỉ số khác để đánh giá sự đảo ngược xu hướng và lợi nhuận thoát sớm.
Tối ưu hóa tham số thử nghiệm riêng biệt cho các sản phẩm khác nhau để cải thiện khả năng thích nghi.
Tóm lại, đây là một chiến lược theo xu hướng điển hình. Nó sử dụng Trình dao động Stochastic trung bình để xác định hướng xu hướng và kim tự tháp khi xu hướng xảy ra. Ưu điểm là khả năng theo dõi mạnh phù hợp với thị trường xu hướng. Nhưng điều quan trọng là tránh giao dịch ngược xu hướng. Tối ưu hóa hơn nữa có thể được thực hiện bằng cách giới thiệu phán đoán xu hướng, tối ưu hóa chiến lược dừng lỗ, kiểm soát thời gian kim tự tháp, v.v. Với lựa chọn tham số đúng, kết quả theo dõi tốt có thể đạt được.
/*backtest start: 2022-10-19 00:00:00 end: 2023-10-25 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 //1. AVG Stochastic Calculate //1.1 AVG %K is calculated by apply EMA with smooth K period on Average of Original Stochastic %k & %d //+ avg_k=ema((%k+%d)/2,smoothK) //1.2 AVG %D is calculated by apply EMA with %d period on AVG %K //+ avg_d=ema(avg_k,periodD) //2. Parameter //+ %K Length: 21 //+ %K Smoothing: 3 //+ %D Smoothing: 3 //+ Symbol: BTC/USDT //+ Timeframe: M30 //+ Pyramiding: Maximum 3 orders at the same direction. //3. Signal //3.1 Buy Signal //+ Entry: AVG %K crossover AVG %D and AVG %D < 20 //+ Exit: AVG %D > 80 //3.2 Sell Signal //+ Entry: AVG %K crossunder AVG %D and AVG %D > 80 //+ Exit: AVG %D < 20 strategy(title="AVG Stochastic Strategy [M30 Backtesting]", overlay=true, pyramiding=3) periodK = input.int(21, title="%K Length", minval=1) smoothK = input.int(3, title="%K Smoothing", minval=1) periodD = input.int(3, title="%D Smoothing", minval=1) k = ta.sma(ta.stoch(close, high, low, periodK), smoothK) d = ta.sma(k, periodD) _avg_k=ta.ema(math.avg(k,d),smoothK) _avg_d=ta.ema(_avg_k,periodD) up= _avg_k[1]<_avg_d[1] and _avg_k>_avg_d and _avg_d<20 dn= _avg_k[1]>_avg_d[1] and _avg_k<_avg_d and _avg_d>80 var arr_val=0 if up arr_val:=1 strategy.entry("Long", strategy.long) if dn arr_val:=-1 strategy.entry("Short", strategy.short) if up[1] or dn[1] arr_val:=0 plotarrow(arr_val,title="Signal",colorup=color.green,colordown=color.red) if _avg_d>80 strategy.close("Long") if _avg_d<20 strategy.close("Short") //EOF