Chiến lược xu hướng tổng hợp trung bình động nâng cao


Ngày tạo: 2023-09-14 16:46:53 sửa đổi lần cuối: 2023-09-14 16:46:53
sao chép: 6 Số nhấp chuột: 647
1
tập trung vào
1617
Người theo dõi

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

Chiến lược này dựa trên các chỉ số MACD tăng cường để theo dõi xu hướng. Nó đồng thời tính toán đường trung bình di chuyển nhanh, đường trung bình di chuyển chậm và chênh lệch của cả hai, và sau đó tính toán đường trung bình di chuyển của chênh lệch để tạo ra tín hiệu giao dịch.

Lý luận cụ thể là:

  1. Tính toán chu kỳ EMA nhanh, ví dụ 12 ngày

  2. Tính toán chu kỳ EMA chậm, ví dụ như 26 ngày

  3. Tính toán chênh lệch của EMA chậm là MACD

  4. Giao thức MACD EMA, như EMA ngày 9

  5. Sau đó MACD với sự chênh lệch của đường tín hiệu để tạo đường tín hiệu tăng cường EMA

  6. Làm nhiều hơn khi đi qua trục 0 trên đường tín hiệu tăng cường

  7. Khi tín hiệu tăng cường đi ngang qua trục 0

Chiến lược này khai thác đầy đủ các đặc tính theo dõi xu hướng của chỉ số MACD và lọc tối ưu hóa thứ hai để cải thiện chất lượng tín hiệu, theo đuổi xu hướng đường dài.

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

  • Tăng cường giảm nhiễu MACD để tăng độ chính xác tín hiệu

  • EMA nhanh chóng đưa ra quyết định về hướng đi và sức mạnh của mình

  • Xu hướng đường dài giữa các tham số chậm hơn

Rủi ro chiến lược

  • Cẩn thận chọn tham số chu kỳ EMA

  • Chỉ cần làm nhiều hơn là không thể tận dụng cơ hội trống rỗng.

  • Tín hiệu có tần số thấp

Tóm tắt

Chiến lược này xác định các cơ hội đường dài trung bình bằng cách tăng cường khả năng theo dõi xu hướng của MACD. Tuy nhiên, tối ưu hóa tham số và kiểm soát rủi ro đặc biệt quan trọng. Sự kết hợp thích hợp của các yếu tố khác có thể làm tăng hiệu quả.

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

//@version=3
//study("MACDAS")
// strategy("macdas",shorttitle="macdas",overlay=true,default_qty_value=10000,initial_capital=10000,currency=currency.USD)

// Date range filter
testStartYear = input(2018, "Backtest Start Year")
testStartMonth = input(4, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0)

testStopYear = input(2018, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0)

inTimeRange = true


fastperiod = input(12,title="fastperiod",minval=1,maxval=500)
slowperiod = input(26,title="slowperiod",minval=1,maxval=500)
signalperiod = input(9,title="signalperiod",minval=1,maxval=500)
fastMA = ema(close, fastperiod)
slowMA = ema(close, slowperiod)
macd = fastMA - slowMA
signal = ema(macd, signalperiod)
macdAS = macd - signal
signalAS = ema(macdAS, signalperiod)
plot(macdAS, color=blue, linewidth=2)
plot(signalAS, color=red, linewidth=2)
plot(0, color=black)

strategy.entry("LONG", strategy.long, when =inTimeRange and crossover(macdAS,signalAS))
strategy.close("LONG", when= inTimeRange and crossunder(macdAS,signalAS))

plotshape(crossover(macdAS, signalAS) , style = shape.arrowup, text="Long",color=green,size=size.huge)
plotshape(crossover(signalAS,macdAS) , style = shape.arrowdown, text="End Long",color=red,size=size.huge)