Chiến lược Breakout đảo ngược giá trung bình di chuyển kép kết hợp các tín hiệu giao dịch kép để xác định cơ hội nhập cảnh chất lượng cao hơn. Đầu tiên nó sử dụng một đường trung bình di chuyển 9 ngày và đường ray trên và dưới của nó để xây dựng một khuôn khổ đột phá cơ bản, sau đó giới thiệu một chỉ số chứng khoán để lọc tín hiệu sau khi đánh giá hướng cơ hội bằng cách sử dụng 123 mẫu, và cuối cùng tạo thành một quy tắc nhập cảnh tương đối nghiêm ngặt.
Chiến lược phá vỡ giá chuyển động trung bình kép bao gồm hai chiến lược phụ.
Phân chiến lược đầu tiên là phán đoán mô hình 123. Chiến lược này sử dụng mối quan hệ giá đóng trong hai ngày trước để đánh giá hướng có thể xảy ra của sự phá vỡ giá trong tương lai. Nếu giá đóng ngày hôm nay tăng so với giá đóng ngày hôm trước, trong khi giá đóng ngày hôm trước giảm so với giá đóng hai ngày trước, nó được coi là tín hiệu mua; nếu giá đóng ngày hôm nay giảm so với giá đóng ngày hôm trước, trong khi giá đóng ngày hôm trước tăng so với giá đóng hai ngày trước, nó được coi là tín hiệu bán. Mẫu này được cho là phản ánh bước ngoặt quan trọng khi tâm lý ngắn hạn chuyển từ bi quan sang lạc quan hoặc từ lạc quan sang bi quan.
Chiến lược phụ thứ hai là đột phá kênh trung bình di chuyển bị dịch chuyển. Chiến lược này đầu tiên tính toán đường trung bình di chuyển theo cấp số nhân của chu kỳ được chỉ định (chẳng hạn như 9 ngày), và sau đó thêm một tỷ lệ phần trăm nhất định ở trên và bên dưới nó như các đường ray trên và dưới của kênh. Nếu giá vượt qua đường ray trên, một tín hiệu bán được tạo ra. Nếu giá vượt qua đường ray dưới, một tín hiệu mua được tạo ra. Ở đây chiều rộng của sự mở rộng và co lại của các đường ray trên và dưới có thể được kiểm soát bởi nhân tố phần trăm để điều chỉnh tần số tín hiệu.
Cuối cùng, chỉ khi các hướng tín hiệu của hai chiến lược con phù hợp, tức là tín hiệu đảo ngược 123 và tín hiệu thoát kênh ở cùng một hướng, một tín hiệu thực sự cuối cùng sẽ được tạo ra để hướng dẫn giao dịch thực tế.
Chiến lược đảo ngược giá trung bình di chuyển kép kết hợp nhiều phương pháp phân tích và có những lợi thế sau:
Cơ chế lọc tín hiệu kép có thể giảm hiệu quả các tín hiệu không hợp lệ và làm cho mỗi giao dịch có chất lượng cao hơn.
Phán quyết mô hình 123 thuộc về một chiến lược đảo ngược ngắn hạn, trong khi việc phá vỡ kênh bị dịch chuyển thuộc về một chiến lược theo dõi xu hướng trung bình và dài hạn.
Bằng cách điều chỉnh chiều rộng của đường ray trên và dưới của kênh, tần số tín hiệu có thể được điều khiển tự do để phù hợp với các ưu tiên giao dịch khác nhau.
Sử dụng trung bình động 9 ngày làm đường trung của kênh, việc lựa chọn tham số hợp lý hơn để tránh tín hiệu quá thường xuyên.
Bằng cách áp dụng các vùng mua quá mức và bán quá mức của chỉ số stochastic, nó tránh bị mắc kẹt trong một thị trường sốc.
Chiến lược đảo ngược giá trung bình di chuyển kép cũng có một số rủi ro, chủ yếu trong các khía cạnh sau:
Cơ chế tín hiệu lọc kép bỏ lỡ một số cơ hội mà một chiến lược đơn phương có thể nắm bắt, với một số rủi ro bỏ lỡ đơn đặt hàng.
123 điểm mua và bán không thể lọc hoàn toàn tất cả các sự phá vỡ sai.
Trong trường hợp thay đổi thị trường mạnh mẽ, cài đặt dừng lỗ không đúng có thể dẫn đến tổn thất lớn.
Logic của điều kiện ifft rất phức tạp. Các tham số không chính xác dễ bị lỗi logic, dẫn đến các phán đoán tín hiệu không hợp lệ.
Dữ liệu ngoài mẫu ảnh hưởng đến sự ổn định của tham số, đòi hỏi tối ưu hóa động của các tham số.
Vẫn còn chỗ để tối ưu hóa trong Chiến lược Phá hỏng Phản hồi Giá Trung bình Di chuyển kép:
Các loại trung bình động khác nhau có thể được thử nghiệm để chọn các kết hợp tham số với chất lượng tín hiệu tốt hơn và ổn định hơn.
Các kênh có chiều rộng thích hợp có thể được lựa chọn theo đặc điểm của dữ liệu sản phẩm cụ thể.
Động lực dừng mất mát có thể được kết hợp để kiểm soát tỷ lệ mất mát tối đa.
Các mô hình học máy có thể được giới thiệu để tối ưu hóa tham số động để làm cho chiến lược mạnh mẽ hơn.
Các bộ lọc dựa trên khối lượng giao dịch hoặc biến động có thể được thêm vào để tránh các bước vào và thoát quá thường xuyên trong điều kiện thị trường hỗn loạn.
Thông qua cơ chế lọc xác minh kép, Chiến lược Breakout đảo ngược giá trung bình di chuyển kép kết hợp thành công đảo ngược ngắn hạn và theo dõi xu hướng trung dài hạn để tạo thành một hệ thống giao dịch hiệu quả có thể lọc hiệu quả các tín hiệu không hợp lệ và chọn các cơ hội nhập chất lượng cao, và có khả năng tùy chỉnh tương đối mạnh.
/*backtest start: 2023-11-06 00:00:00 end: 2023-12-06 00:00:00 period: 2h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 18/03/2021 // This is combo strategies for get a cumulative signal. // // First strategy // This System was created from the Book "How I Tripled My Money In The // Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies. // The strategy buys at market, if close price is higher than the previous close // during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. // The strategy sells at market, if close price is lower than the previous close price // during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50. // // Second strategy // Moving Average Displaced Envelope. These envelopes are calculated // by multiplying percentage factors with their displaced expotential // moving average (EMA) core. // How To Trade Using: // Adjust the envelopes percentage factors to control the quantity and // quality of the signals. If a previous high goes above the envelope // a sell signal is generated. Conversely, if the previous low goes below // the envelope a buy signal is given. // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// Reversal123(Length, KSmoothing, DLength, Level) => vFast = sma(stoch(close, high, low, Length), KSmoothing) vSlow = sma(vFast, DLength) pos = 0.0 pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1, iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) pos MADE(Price,Period, perAb, perBl, disp) => pos = 0.0 sEMA = ema(Price, Period) top = sEMA[disp] * ((100 + perAb)/100) bott = sEMA[disp]* ((100 - perBl)/100) pos := iff(close < bott , 1, iff(close > top, -1, pos[1])) pos strategy(title="Combo Backtest 123 Reversal & MA Displaced Envelope", shorttitle="Combo", overlay = true) line1 = input(true, "---- 123 Reversal ----") Length = input(14, minval=1) KSmoothing = input(1, minval=1) DLength = input(3, minval=1) Level = input(50, minval=1) //------------------------- line2 = input(true, "---- MA Displaced Envelope ----") Price = input(title="Source", type=input.source, defval=close) Period =input(defval=9, minval=1) perAb = input(title = "Percent above", defval=.5, minval=0.01, step = 0.1) perBl = input(title = "Percent below", defval=.5, minval=0.01, step = 0.1) disp = input(title = "Displacement", defval=13, minval=1) reverse = input(false, title="Trade reverse") posReversal123 = Reversal123(Length, KSmoothing, DLength, Level) posMADE = MADE(Price,Period, perAb, perBl, disp) pos = iff(posReversal123 == 1 and posMADE == 1 , 1, iff(posReversal123 == -1 and posMADE == -1, -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) if (possig == 0) strategy.close_all() barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )