Chiến lược theo dõi xu hướng đường trung bình động MACD Golden Cross và Death Cross Double


Ngày tạo: 2023-12-22 14:17:34 sửa đổi lần cuối: 2023-12-22 14:17:34
sao chép: 0 Số nhấp chuột: 717
1
tập trung vào
1623
Người theo dõi

Chiến lược theo dõi xu hướng đường trung bình động MACD Golden Cross và Death Cross Double

Tổng quan

Chiến lược này được thực hiện bằng cách tính toán các đường trung bình di chuyển nhanh, đường trung bình di chuyển chậm, MACD, để đánh giá xu hướng giá, xây dựng tín hiệu giao dịch giao dịch vàng và vàng, và kết hợp với lệnh dừng và dừng để theo dõi lỗ để khóa lợi nhuận, để theo dõi xu hướng liên tục.

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

Chiến lược này được xây dựng dựa trên ba chỉ số chính:

Đầu tiên, tính toán đường trung bình di chuyển nhanh và hai đường trung bình di chuyển chậm. Khi đường trung bình di chuyển nhanh vượt qua hai đường trung bình di chuyển chậm, nó sẽ tạo ra tín hiệu mua. Khi đường trung bình di chuyển nhanh vượt qua hai đường trung bình di chuyển chậm, nó sẽ tạo ra tín hiệu bán.

Tiếp theo, tính các chỉ số MACD, bao gồm các đường MACD, đường tín hiệu và đường thẳng. Các chỉ số đa đầu khi đường thẳng MACD> 0; Các chỉ số đầu trống khi đường thẳng MACD < 0. Như vậy sẽ hỗ trợ đánh giá độ tin cậy của tín hiệu quạt vàng.

Cuối cùng, kết hợp với Stop Loss Tracking Stop Loss. Sử dụng Stop Loss và Stop Loss để khóa lợi nhuận và kiểm soát rủi ro. Sử dụng Tracking Stop Loss để theo dõi lợi nhuận.

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

Chiến lược này có những ưu điểm sau:

  1. Các chỉ số MACD được sử dụng để xác định xu hướng giá cả.
  2. Cài đặt điểm dừng để ngăn chặn sự gia tăng tổn thất;
  3. Theo dõi chuyển động tự động dừng lỗ, liên tục khóa lợi nhuận, tối đa hóa lợi nhuận theo xu hướng;
  4. Các tham số được thiết lập linh hoạt, có thể tùy chỉnh chu kỳ trung bình di chuyển, v.v.

Rủi ro chiến lược

Chiến lược này cũng có một số rủi ro:

  1. Trong một số trường hợp, các nhà đầu tư có thể sẽ phải trả giá cho các sản phẩm của họ.
  2. Các lỗ hổng theo dõi hoạt động lâu dài cần được giám sát liên tục và điều chỉnh kịp thời;
  3. Thiết lập tham số không chính xác có thể dẫn đến giao dịch thường xuyên hoặc bị bỏ phiếu.

Giải pháp đối phó với rủi ro:

  1. Thiết lập điểm dừng hợp lý để ngăn chặn các điểm dừng không cần thiết;
  2. Kiểm tra thường xuyên và thiết lập các tham số tối ưu hóa;
  3. Sự can thiệp của con người và giám sát tình trạng.

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

Chiến lược này cũng có thể được tối ưu hóa theo các khía cạnh sau:

  1. Thêm nhiều chỉ số đánh giá như RSI để tín hiệu đáng tin cậy hơn;
  2. Tối ưu hóa các tham số trung bình di chuyển để phù hợp hơn với các đặc điểm của các giống khác nhau;
  3. Thêm các thuật toán theo dõi động của Stop Loss để Stop Loss có thể thay đổi theo thị trường;
  4. Tăng các mô-đun quản lý tài chính như số lần mở kho, kiểm soát vị trí.

Tóm tắt

Chiến lược này nói chung là một chiến lược đơn giản và hiệu quả sử dụng các chỉ số MACD để đánh giá xu hướng và theo dõi dừng lỗ. Ưu điểm là thực hiện theo dõi xu hướng và khóa lợi nhuận, có thể tùy biến mạnh mẽ, phù hợp với nhiều loại, là một chiến lược tối ưu hóa tham số phổ biến. Có một số rủi ro và không gian tối ưu hóa, nhưng nói chung là một chiến lược giao dịch thực tế đáng tin cậy.

Mã nguồn chiến lược
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-21 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy('The Puria Method', shorttitle = 'Puria',overlay = true)

//=== GENERAL INPUTS ===

// short ma
maFastSource   = input(defval = close, title = "Fast MA Source")
maFastLength   = input(defval = 5, title = "Fast MA Period", minval = 1)

// long ma 1
maSlow1Source   = input(defval = low, title = "Slow MA1 Source")
maSlow1Length   = input(defval = 85, title = "Slow MA Period", minval = 1)

// long ma 2
maSlow2Source   = input(defval = low, title = "Slow MA2 Source")
maSlow2Length   = input(defval = 75, title = "Slow MA Period", minval = 1)

//macd
macdFastLength   = input(defval = 12, title = "Fast MACD Period", minval = 1)
macdSlowLength   = input(defval = 26, title = "Slow MACD Period", minval = 1)
macdSmaLength   = input(defval = 9, title = "SMA MACD Period", minval = 1)

// the risk management inputs
inpTakeProfit   = input(defval = 30, title = "Take Profit", minval = 0)
inpStopLoss     = input(defval = 10, title = "Stop Loss", minval = 0)
inpTrailStop    = input(defval = 5, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset  = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)

// if an input is less than 1, assuming not wanted so we assign 'na' value to disable it.
useTakeProfit   = inpTakeProfit  >= 1 ? inpTakeProfit  : na
useStopLoss     = inpStopLoss    >= 1 ? inpStopLoss    : na
useTrailStop    = inpTrailStop   >= 1 ? inpTrailStop   : na
useTrailOffset  = inpTrailOffset >= 1 ? inpTrailOffset : na

// === SERIES SETUP ===
maFast = ema(maFastSource, maFastLength)
maSlow1 = wma(maSlow1Source, maSlow1Length)
maSlow2 = wma(maSlow2Source, maSlow2Length)
[_, signal, histLine] = macd(close, macdFastLength, macdSlowLength, macdSmaLength)

// === PLOTTING ===
fast = plot(maFast, title = "Fast MA", color = green, linewidth = 2, style = line, transp = 50)
slow1 = plot(maSlow1, title = "Slow MA1", color = red, linewidth = 2, style = line, transp = 50)
slow2 = plot(maSlow2, title = "Slow MA2", color = red, linewidth = 2, style = line, transp = 50)

// === LOGIC ===
signalUp = crossover(maFast, maSlow1) and crossover(maFast, maSlow2) and histLine > 0
signalDown = crossunder(maFast, maSlow1) and crossunder(maFast, maSlow2) and histLine < 0

// ===STRATEGY===
strategy.entry(id = "Long", long = true, when = signalUp) 
strategy.entry(id = "Short", long = false, when = signalDown)
strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)