Chiến lược dự đoán xu hướng MACD


Ngày tạo: 2023-11-02 15:25:11 sửa đổi lần cuối: 2023-11-02 15:25:11
sao chép: 0 Số nhấp chuột: 675
1
tập trung vào
1617
Người theo dõi

Chiến lược dự đoán xu hướng MACD

Tổng quan

Chiến lược dự đoán xu hướng MACD là một chiến lược theo dõi xu hướng dựa trên chỉ số MACD và chỉ số EMA. Chiến lược này không tạo ra tín hiệu giao dịch thông qua sự giao nhau của các đường tín hiệu như các chiến lược MACD truyền thống, mà tạo ra tín hiệu giao dịch thông qua sự thay đổi khoảng cách giữa đường chỉ số MACD và đường tín hiệu để nắm bắt sự thay đổi xu hướng.

Nguyên tắc chiến lược

  1. Tính DEMAfast đường nhanh: Tính trung bình MMEfast hai lần của đường nhanh bằng phương pháp EMA, sau đó tính DEMAfast đường nhanh theo công thức DEMAfast=((2 * MMEfast) - MMEfastb)

  2. Tính DEMAslow đường chậm: Tính trung bình MMEslow hai lần của đường chậm bằng phương pháp EMA, sau đó tính DEMAslow đường chậm theo công thức DEMAslow = (((2 * MMEslow) - MMEslowb)).

  3. Tính toán đường MACD: đường MACD là đường nhanh DEMAfast trừ giá trị khác nhau của đường chậm DEMAslow LigneMACDZeroLag。

  4. Tính đường tín hiệu: Tính trung bình MMEsignal hai lần của đường MACD bằng phương pháp EMA, sau đó tính theo đường tín hiệu theo công thức Lignesignal=((2 * MMEsignal) - MMEsignalb) 。

  5. So sánh đường MACD và đường tín hiệu: Khi đường MACD lớn hơn đường tín hiệu tạo ra tín hiệu mua; Khi đường MACD nhỏ hơn đường tín hiệu tạo ra tín hiệu bán.

  6. Tính toán trên sử dụng thuật toán DEMA, có thể giảm hiệu quả sự chậm trễ của chỉ số MACD.

Lợi thế chiến lược

  1. Sử dụng thuật toán DEMA, có thể giảm độ trễ của chỉ số MACD, làm cho tín hiệu giao dịch nhạy cảm hơn.

  2. Không phụ thuộc vào tín hiệu chéo của chỉ số MACD, thay vào đó, bạn có thể bắt được sự thay đổi xu hướng thông qua MACD và sự thay đổi khoảng cách giữa đường tín hiệu và có thể đi vào xu hướng sớm hơn.

  3. Chiến lược này có khả năng đánh giá xu hướng chính xác, có thể đạt được chỉ số lợi nhuận từ 1.6-3.5, và lợi nhuận sẽ tốt hơn.

  4. Chiến lược logic đơn giản, rõ ràng, dễ hiểu, phù hợp cho giao dịch định lượng.

Rủi ro chiến lược

  1. MACD là một chỉ số chậm trễ, có thể tạo ra một số lượng lớn tín hiệu giao dịch không có hiệu lực trong tình hình cân bằng.

  2. DEMA có thể làm giảm độ trễ nhưng không thể loại bỏ nó hoàn toàn.

  3. Trong một chiến lược theo xu hướng, lợi nhuận có thể không tốt trong một thời điểm bất ổn.

  4. Cần tối ưu hóa các tham số sma, lma,tsp để phù hợp với các chu kỳ và giống khác nhau.

  5. Có thể cần thêm chiến lược kiểm soát lỗ.

Hướng tối ưu hóa chiến lược

  1. Tối ưu hóa các tham số sma, lma,tsp để phù hợp với các chu kỳ khác nhau và các loại giao dịch.

  2. Thêm một chiến lược dừng lỗ động tương tự như ATR để kiểm soát mỗi lỗ.

  3. Giao dịch với các chỉ số xu hướng và tránh giao dịch trong tình trạng biến động.

  4. Thêm kiểm soát khối lượng giao dịch, điều chỉnh vị trí tùy theo mức độ biến động của thị trường.

  5. Tối ưu hóa logic vào và ra, tinh chỉnh các quy tắc tín hiệu giao dịch.

Tóm tắt

Chiến lược dự đoán xu hướng MACD có lợi thế nhất định bằng cách cải thiện phương pháp tính toán chỉ số MACD, sử dụng thuật toán DEMA để giảm sự chậm trễ và sử dụng MACD và sự thay đổi khoảng cách đường tín hiệu để đánh giá xu hướng, có thể nắm bắt hiệu quả sự thay đổi xu hướng, tỷ lệ lợi nhuận có thể lên đến 1.6-3.5, có một số ưu thế. Tuy nhiên, vẫn cần tối ưu hóa thêm các tham số thiết lập, chiến lược dừng lỗ, bộ lọc xung động, v.v. để thích ứng với nhiều môi trường thị trường, sẽ là hướng phát triển của chiến lược này.

Mã nguồn chiến lược
/*backtest
start: 2022-10-26 00:00:00
end: 2023-11-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © moritz1301

//@version=4
strategy("MACD Trendprediction Strategy V1", shorttitle="MACD TPS", overlay=true)
sma = input(12,title='DEMA Courte')
lma = input(26,title='DEMA Longue')
tsp = input(9,title='Signal')
dolignes = input(true,title="Lignes")

MMEslowa = ema(close,lma)
MMEslowb = ema(MMEslowa,lma)
DEMAslow = ((2 * MMEslowa) - MMEslowb )

MMEfasta = ema(close,sma)
MMEfastb = ema(MMEfasta,sma)
DEMAfast = ((2 * MMEfasta) - MMEfastb)

LigneMACDZeroLag = (DEMAfast - DEMAslow)

MMEsignala = ema(LigneMACDZeroLag, tsp)
MMEsignalb = ema(MMEsignala, tsp)
Lignesignal = ((2 * MMEsignala) - MMEsignalb )

MACDZeroLag = (LigneMACDZeroLag - Lignesignal)

bgcolor(LigneMACDZeroLag<Lignesignal ? color.red : color.green)

if (LigneMACDZeroLag>Lignesignal)
	strategy.entry("Buy", strategy.long, comment="BUY")
	
if (LigneMACDZeroLag<Lignesignal)
	strategy.close("Buy", strategy.long, comment="SELL")