Chiến lược giao dịch chéo trung bình động là một chiến lược phân tích kỹ thuật rất cổ điển. Nó tính toán các đường trung bình động của các giai đoạn khác nhau và quan sát giao dịch chéo của chúng để xác định xu hướng của thị trường, để đạt được mục tiêu mua thấp và bán cao. Chiến lược này phù hợp với giao dịch trung và dài hạn, và có thể lọc hiệu quả tiếng ồn thị trường và xác định xu hướng.
Chiến lược này chủ yếu tính toán đường trung bình di chuyển đơn giản 10 ngày (SMA) và đường trung bình di chuyển tam giác 10 ngày (TRIMA). Khi đường SMA vượt qua TRIMA, một tín hiệu mua được tạo ra, cho thấy xu hướng thị trường đã thay đổi từ giảm xuống tăng, và chúng ta có thể mua. Khi đường SMA vượt qua dưới TRIMA, một tín hiệu bán được tạo ra, cho thấy xu hướng thị trường đã thay đổi từ tăng xuống giảm, và chúng ta có thể bán.
Cụ thể, chiến lược đầu tiên nhập giá đóng cửa và xác định độ dài chu kỳ để tính toán SMA và TRIMA. Công thức tính toán cho SMA là:
SMA = (P1 + P2 +... + Pn) / n
Nơi Pn là giá đóng cửa trong n ngày qua.
Công thức tính toán cho TRIMA là:
TRIMA = (SMA1 + SMA2 + SMA3) / 3
Trong đó SMA1, SMA2, SMA3 là SMA của giá đóng trong n ngày qua tương ứng.
TRIMA thực sự là một SMA được tính trên SMA, có hiệu ứng làm mịn tốt hơn. Khi SMA ngắn hạn vượt qua trên TRIMA dài hạn, nó cho thấy sự đột phá của trung bình động ngắn hạn, và chúng ta có thể mua. Ngược lại, khi SMA vượt qua dưới TRIMA, nó cho thấy sự phá vỡ dưới trung bình động ngắn hạn, và chúng ta có thể bán.
Lợi thế lớn nhất của chiến lược này là nó sử dụng khả năng đánh giá xu hướng của đường trung bình động để xác định hiệu quả xu hướng thị trường và lọc ra tiếng ồn thị trường ngắn hạn, để mua thấp và bán cao. So với một đường trung bình động duy nhất, sự kết hợp của SMA và TRIMA có thể cải thiện độ tin cậy của các bước đột phá và giảm khả năng đột phá sai. Ngoài ra, đường trung bình động có tính trơn tru tốt, cũng có thể đóng vai trò dừng lỗ để giảm khả năng dừng lỗ duy nhất. Nói chung, chiến lược này rất phù hợp cho giao dịch trung và dài hạn.
Rủi ro chính của chiến lược này là mức trung bình động chính nó tụt lại phía sau các thay đổi giá, có thể bỏ lỡ giai đoạn đầu của xu hướng, dẫn đến bước vào muộn. Ngoài ra, khi thị trường không có xu hướng rõ ràng, chiến lược này sẽ tạo ra nhiều bước đột phá sai hơn. Cuối cùng, các chiến lược trung bình động dựa nhiều hơn vào tối ưu hóa tham số. Nếu các tham số không được đặt đúng cách, nó cũng sẽ ảnh hưởng rất lớn đến chiến lược.
Chiến lược này có thể được tối ưu hóa trong các khía cạnh sau:
Tối ưu hóa các tham số chu kỳ của đường trung bình động để tìm ra sự kết hợp tốt nhất về mặt khoa học.
Thêm các chỉ số lọc như khối lượng giao dịch để tránh các tín hiệu sai khi khối lượng giao dịch thấp.
Kết hợp các chỉ số xu hướng như MACD để đánh giá xu hướng địa phương và tránh giao dịch thường xuyên trên thị trường hợp nhất.
Sử dụng các đường trung bình động thích nghi để điều chỉnh động các thông số chu kỳ khi thị trường bước vào các giai đoạn cụ thể.
Kiểm tra với nhiều khung thời gian, chẳng hạn như xem xét nhập chỉ khi cả hai đường hàng ngày và 4 giờ vượt qua.
Chiến lược giao dịch trung bình động là một chiến lược phân tích kỹ thuật đơn giản và thực tế rất phù hợp với giao dịch vị trí trung và dài hạn. Nó có thể xác định hiệu quả hướng xu hướng. Nhưng nó cũng có một sự chậm trễ nhất định, và cần được lọc và tối ưu hóa với các chỉ số đánh giá xu hướng để giảm khả năng tín hiệu sai. Nếu các thông số được tối ưu hóa đúng cách, nó có thể bảo vệ vốn và nắm bắt các cơ hội xu hướng lớn hơn. Nó chắc chắn đáng để nghiên cứu và áp dụng như một ý tưởng chiến lược.
/*backtest start: 2022-10-31 00:00:00 end: 2023-11-06 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //TMA strategy I came across, uses sma to display entry/exit points for both margin and non margin trading. The buy/sell signals as well as syntax are hidden behind comments if you scroll down. //Change the commented fields for margin or spot trading! //@version=3 strategy("MP Rollercoaster Strat", overlay=true) bgcolor ( color=black, transp=0, title='Blackground', editable=true) x = input(close, "Red") n = input(10, "periods") trima = sma(sma(x,n), n) kisa=input(5, "Green") sma = sma(close, kisa) bull = (sma>trima) fill(plot(sma, color = green), plot(trima, color=red), bull ? green : red) //Conditions buy_signal = crossover(sma,trima) sell_signal = crossunder(sma,trima) plotshape(sell_signal, style=shape.triangleup, color = red, text="Short") plotshape(buy_signal, style=shape.triangledown, color = green, text="Long") //plotshape(sell_signal, style=shape.triangleup, color = red, text="Sell") //plotshape(buy_signal, style=shape.triangledown, color = green, text="Buy") alertcondition(sell_signal, title = 'Short', message = 'e= s= c=position b=long t=market l= | delay=30 | e= s= b=short l= t=market q=0.01') alertcondition(buy_signal, title = 'Long', message = 'e= s= c=position b=short t=market l= | delay=30 | e= s= b=long l= t=market q=0.01') //alertcondition(sell_signal, title = 'Sell', message = 'e= s= c=order b=buy | delay=3 | e= b=sell q=99% p=0.70% u=currency') //alertcondition(buy_signal, title = 'Buy', message = 'e= s= c=order b=sell | delay=30 | e= b=buy q=80 p=0.1% u=currency') testStartYear = input(2018, "From Year") testStartMonth = input(4, "From Month") testStartDay = input(1, "From Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testStopYear = input(2019, "To Year") testStopMonth = input(1, "To Month") testStopDay = input(1, "To Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) testPeriod() => true if testPeriod() if buy_signal strategy.entry("Long", true) if sell_signal strategy.close("Long")