
Chiến lược này sử dụng xu hướng loại bỏ giá cổ phiếu, để có thể nhìn rõ hơn về hình dạng của chỉ số MACD. Bằng cách tính toán đường DEMA nhanh và đường DEMA chậm, sau đó có được đường thẳng và đường tín hiệu MACD, đánh giá sự giao nhau của chúng để tạo ra tín hiệu giao dịch. Chiến lược này cũng kết hợp các bộ lọc điều kiện tháng, ngày, và logic đóng cửa để tạo thành một hệ thống chiến lược hoàn chỉnh hơn.
Đầu tiên, tính toán giá EMA, để loại bỏ xu hướng của giá, để có được giá EMA sau khi loại bỏ xu hướng. Sau đó, dựa trên EMA, tính toán DEMA đường nhanh, DEMA đường chậm và MACD đường thẳng. Trong đó, cách tính toán DEMA đường nhanh là: Đầu tiên tính EMA1 của đường nhanh, sau đó tính EMA2 của EMA1 và sau đó tính DEMA = 2*EMA1-EMA2) DEMA đường chậm và đường tín hiệu được tính tương tự Sau khi có MACD đường thẳng ((DEMA đường nhanh - DEMA đường chậm) và đường tín hiệu, nếu MACD đường thẳng xuyên qua đường tín hiệu, sẽ tạo ra tín hiệu mua; nếu MACD đường thẳng xuyên qua đường tín hiệu, sẽ tạo ra tín hiệu bán Cuối cùng, kết hợp các điều kiện tháng, ngày lọc tín hiệu và thiết lập logic dừng lỗ
Lập luận cốt lõi của chiến lược này là:
Loại bỏ xu hướng giá, nhìn rõ hơn về MACD
Tính DEMA đường nhanh, đường chậm, MACD đường thẳng và đường tín hiệu
MACD đường thẳng và đường tín hiệu giao nhau tạo ra tín hiệu giao dịch
Thêm ngày, tháng
Cài đặt logic dừng lỗ
Những ưu điểm chính của chiến lược này là:
Loại bỏ xu hướng giá, có thể nhìn thấy rõ ràng hơn sự giao thoa của chỉ số MACD, tránh bị sai lệch bởi xu hướng.
Sử dụng thuật toán DEMA để tính toán chỉ số MACD, bạn có thể lọc ra một số tiếng ồn để có tín hiệu rõ ràng hơn.
Việc lọc kết hợp ngày và tháng có thể làm giảm một số giao dịch không cần thiết.
Thiết lập logic dừng lỗ, có thể dừng lỗ kịp thời, kiểm soát rủi ro.
Việc sử dụng các dấu hiệu tạo giao dịch có thể làm giảm số giao dịch sai.
Nhìn chung, chiến lược này kết hợp với loại bỏ xu hướng, tính toán DEMA và lọc điều kiện, có thể tạo ra tín hiệu giao dịch rõ ràng và đáng tin cậy hơn.
Chiến lược này cũng có một số rủi ro cần lưu ý:
Sau khi loại bỏ xu hướng, tín hiệu chéo MACD có thể tăng lên, cần phải xác minh thực tế có khả thi hay không.
Mặc dù DEMA đã lọc một số tiếng ồn, nhưng chỉ số vẫn có thể có nhiều tín hiệu giả.
Các điều kiện lọc ngày và tháng có thể quá cứng nhắc, bỏ lỡ một số cơ hội giao dịch.
Cài đặt vị trí dừng lỗ cần phải được xem xét có hợp lý hay không, quá thoải mái sẽ làm tăng rủi ro, quá nghiêm ngặt sẽ dừng lỗ thường xuyên.
Chiến lược này chủ yếu dựa trên chỉ số MACD, hiệu quả có thể bị ảnh hưởng nếu thị trường không thích hợp để sử dụng chỉ số này.
Các tham số chiến lược vẫn còn rất nhiều chỗ để tối ưu hóa và cần được thử nghiệm thêm thông qua phản hồi và ổ đĩa.
Phản ứng:
Thêm các chỉ số xác nhận khác để tránh tín hiệu giả.
Tối ưu hóa các điều kiện lọc ngày, nới lỏng thích hợp.
Kiểm tra kỹ lưỡng và tối ưu hóa điểm dừng lỗ.
Tham gia vào cơ chế đánh giá xu hướng, tránh giao dịch ngược.
Đánh giá toàn diện và tối ưu hóa các tham số để tăng sự ổn định.
Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Kiểm tra các đường trung bình khác nhau để tìm các đường thay thế cho EMA phù hợp hơn.
Thử các kết hợp tham số khác nhau để tối ưu hóa độ dài đường nhanh, đường chậm và đường tín hiệu của MACD.
Tăng các chỉ số phán đoán phụ trợ như chỉ số năng lượng, tránh tín hiệu sai.
Tối ưu hóa chiến lược dừng lỗ, thiết lập dừng động hoặc dừng đơn hợp lý.
Tối ưu hóa các điều kiện lọc theo ngày, tháng, để nó linh hoạt hơn.
Thêm xu hướng, tránh hành động ngược.
Tối ưu hóa tham số toàn diện, tăng sự ổn định của chiến lược.
Đánh giá lại trong thời gian dài hơn để kiểm tra hiệu quả lâu dài của chiến lược.
Thực hiện xác minh thực tế và sửa đổi các tham số chính sách theo tình hình thực tế.
Nhìn chung, chiến lược này sử dụng ý tưởng loại bỏ xu hướng, tính toán chỉ số MACD dưới dạng DEMA và kết hợp với bộ lọc ngày để tạo tín hiệu giao dịch, là một chiến lược đơn giản nhưng khả thi. Ưu điểm lớn nhất của nó là có thể nhìn thấy hình dạng MACD rõ ràng và tránh bị ảnh hưởng bởi xu hướng giá.
/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title = "Trendless MACD Strategy",shorttitle="MACD-T Strategy",default_qty_type = strategy.percent_of_equity, default_qty_value = 100,commission_type=strategy.commission.percent,commission_value=0.01,initial_capital=100000)
maperiod=input(9)
ema=ema(close,maperiod)
fastmacd = input(12,title='MACD Fast Line Length')
slowmacd = input(26,title='MACD Slow Line Length')
signalmacd = input(9,title='Signal Line Length')
macdslowline1 = ema(ema,slowmacd)
macdslowline2 = ema(macdslowline1,slowmacd)
DEMAslow = ((2 * macdslowline1) - macdslowline2 )
macdfastline1 = ema(ema,fastmacd)
macdfastline2 = ema(macdfastline1,fastmacd)
DEMAfast = ((2 * macdfastline1) - macdfastline2)
MACDLine = (DEMAfast - DEMAslow)
SignalLine1 = ema(MACDLine, signalmacd)
SignalLine2 = ema(SignalLine1, signalmacd)
SignalLine = ((2 * SignalLine1) - SignalLine2 )
MACDSignal = MACDLine-SignalLine
colorbar= MACDSignal>0?green:red
plot(MACDSignal,color=colorbar,style=columns,title='Histogram',histbase=0)
p1 = plot(MACDLine,color=blue,title='MACDLine')
p2=plot(SignalLine,color=red,title="SignalLine")
fill(p1,p2,color=blue)
longCond = crossover(MACDLine,SignalLine)
shortCond = crossunder(MACDLine,SignalLine)
monthfrom =input(1)
monthuntil =input(12)
dayfrom=input(1)
dayuntil=input(31)
yearfrom= input(2018)
yearuntil=input(2021)
if ( longCond )
strategy.entry("LONG", strategy.long, stop=close, oca_name="TREND", comment="LONG")
else
strategy.cancel(id="LONG")
if ( shortCond )
strategy.entry("SHORT", strategy.short,stop=close, oca_name="TREND", comment="SHORT")
else
strategy.cancel(id="SHORT")