Chiến lược này được đặt tên là
Các chỉ số cốt lõi của chiến lược này là đường MACD và Bollinger Bands. Chỉ số MACD bao gồm đường nhanh, đường chậm và biểu đồ MACD. Đường nhanh thường là đường EMA 12 ngày và đường chậm là đường EMA 26 ngày. Sự khác biệt giữa chúng là biểu đồ MACD. Chiến lược này sử dụng sự khác biệt giữa đường nhanh và đường chậm làm đường giữa cơ sở của Bollinger Bands. Đường ray trên và dưới được đặt xung quanh đường giữa để xây dựng Bollinger Bands.
Một tín hiệu mua được tạo ra khi giá vượt qua đường ray dưới của Bollinger Bands lên. Một tín hiệu bán được tạo ra khi giá vượt qua đường ray trên của Bollinger Bands xuống. Để giảm nguy cơ bị mắc kẹt và bỏ lỡ cơ hội đảo ngược, chiến lược này không đi vào thị trường ngay sau khi phá vỡ. Thay vào đó, nó chờ đợi sự rút lui để kiểm tra đường giữa của Bollinger Bands trước khi vào.
Ngoài ra, các đường ray trên và dưới cũng có thể được sử dụng như là kháng cự và hỗ trợ tương ứng. Khi giá tăng, đường ray trên là kháng cự và đường ray dưới là hỗ trợ. Khi giá giảm, đường ray trên trở thành hỗ trợ và đường ray dưới trở thành kháng cự.
Chiến lược này kết hợp các lợi thế của MACD và Bollinger Bands để đạt được theo dõi xu hướng, với các điểm mạnh sau:
MACD có khả năng đánh giá xu hướng mạnh mẽ. Bollinger Bands có thể điều chỉnh bản thân theo cách thích nghi. Sự kết hợp có thể xác định hiệu quả các điểm đảo ngược xu hướng.
Mở cửa có thể tránh hiệu quả rủi ro dừng lỗ và theo dõi xu hướng trung bình dài hạn.
Sử dụng kháng cự và hỗ trợ trên Bollinger Bands có thể khóa thêm lợi nhuận.
Các thông số MACD và Bollinger Bands có thể được điều chỉnh linh hoạt để phù hợp với môi trường thị trường khác nhau.
Ngoài ra còn có một số rủi ro cần lưu ý cho chiến lược này:
Trong xu hướng dao động, MACD và Bollinger Bands có thể tạo ra nhiều tín hiệu không hợp lệ.
Stop loss nên được thiết lập trong quá trình tham gia rút lui để tránh tăng lỗ do rút lui quá sâu.
Các thông số của Bollinger Bands cần phải được điều chỉnh dựa trên sự biến động của thị trường.
Quản lý rủi ro tốt và kích thước vị trí là chìa khóa để duy trì lợi nhuận cho chiến lược này.
Chiến lược cũng có thể được tối ưu hóa trong các khía cạnh sau:
Tối ưu hóa các thông số MACD cho đường nhanh 8 ngày và đường chậm 20 ngày. Điều chỉnh dựa trên các sản phẩm và khung thời gian khác nhau để cải thiện độ nhạy của chỉ số.
Thêm đánh giá xu hướng tăng và giảm để tối ưu hóa các thông số Bollinger Bands, giảm tín hiệu sai trong thị trường dao động.
Thêm chiến lược dừng lỗ. Đặt đường dừng lỗ với các đường ray Bollinger Bands trên và dưới để kiểm soát rủi ro.
Bao gồm các chỉ số khác để xác minh để cải thiện tính ổn định của chiến lược.
Chiến lược xu hướng động lực dựa trên MACD và Bollinger Bands theo dõi xu hướng trung dài hạn thông qua sự kết hợp của các chỉ số và tham gia vào việc rút lui để giảm rủi ro. Nó tối ưu hóa cài đặt tham số và kiểm soát rủi ro. Nó hoạt động tốt trên các sản phẩm xu hướng. Nhưng không có chiến lược nào là hoàn hảo. Chúng ta cần tiếp tục tối ưu hóa và cải thiện từ nhiều góc độ để thích nghi với môi trường thị trường luôn thay đổi.
/*backtest start: 2023-02-22 00:00:00 end: 2024-02-28 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //Simple strategy based on MACD and Bollinger Bands, where BBs are calculatend from macd signal. strategy("Strategy MACD vs BB", overlay=false) fast_length = input(title="Fast MA period", type=input.integer, defval=8) slow_length = input(title="Slow MA period", type=input.integer, defval=21) src = input(close,"Source") // ----------MA calculation - ChartArt------------- smoothinput = input(1, minval=1, maxval=4, title='Moving Average Calculation: (1 = SMA), (2 = EMA), (3 = WMA), (4 = Linear)') fast_ma = smoothinput == 1 ? sma(src, fast_length):smoothinput == 2 ? ema(src, fast_length):smoothinput == 3 ? wma(src, fast_length):smoothinput == 4 ? linreg(src, fast_length,0):na slow_ma = smoothinput == 1 ? sma(src, slow_length):smoothinput == 2 ? ema(src, slow_length):smoothinput == 3 ? wma(src, slow_length):smoothinput == 4 ? linreg(src, slow_length,0):na //---------------------------------------------- macd = fast_ma - slow_ma p1=plot(macd,"macd signal",color=color.blue) length = input(40, minval=1) mult = input(2.0,"BB multiplier") basis = sma(macd, length) dev = mult * stdev(macd, length) plot(basis,"BB basis",color=color.orange) upper = basis + dev lower = basis - dev p2=plot(upper,"BB upper",color=color.red) p3=plot(lower,"BB basis",color=color.green) longCondition = crossover(macd, lower) shortCondition = crossunder(macd, upper) plotshape(longCondition?lower:na, title="Long", style=shape.xcross, location=location.absolute, text="Long", color=color.green, transp=0, size=size.tiny) plotshape(shortCondition?upper:na, title="Short", style=shape.xcross, location=location.absolute, text="Short", color=color.red, transp=0, size=size.tiny) fill(p1,p3,color=macd<lower?color.green:na,transp=90,title="support") fill(p1,p2,color=macd>upper?color.red:na,transp=90,title="resistance") if longCondition strategy.entry("Long",strategy.long) if shortCondition strategy.entry("Short",strategy.short)