Chiến lược giao cắt đường trung bình động hàm mũ kép


Ngày tạo: 2023-11-23 17:34:06 sửa đổi lần cuối: 2023-11-23 17:34:06
sao chép: 3 Số nhấp chuột: 762
1
tập trung vào
1617
Người theo dõi

Chiến lược giao cắt đường trung bình động hàm mũ kép

Tổng quan

Chiến lược giao chéo trung bình di chuyển theo hàm số kép là một chiến lược theo dõi xu hướng điển hình. Nó sử dụng các đường nét vàng và đường nét chết của các đường trung bình di chuyển theo hàm số kép với các tham số khác nhau để đánh giá xu hướng thị trường và thực hiện giao dịch nhị phân tương ứng.

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

Chiến lược này đồng thời sử dụng moving average kép với 3 tham số khác nhau: DEMA ((8), DEMA ((20) và DEMA ((63)). Trong đó:

  • DEMA ((8)) phản ứng nhanh nhất, được sử dụng để nắm bắt các xu hướng ngắn hạn;
  • DEMA ((20) chậm hơn một chút để xác định xu hướng trung hạn;
  • DEMA ((63) phản ứng chậm nhất, được sử dụng để đánh giá xu hướng dài hạn.

Khi đường nhanh DEMA(8) trên đi qua đường trung DEMA(20) và đường chậm DEMA(63 thì biểu thị thị trường đi ngược từ dưới lên, làm nhiều; khi đường nhanh DEMA(8) dưới đi qua đường trung DEMA(20) và đường chậm DEMA(63 thì biểu thị thị trường đi ngược từ trên xuống, làm trống.

Phân tích lợi thế

So với trung bình di chuyển đơn, trung bình di chuyển hai chỉ số nhạy cảm hơn với sự thay đổi giá và có thể phát hiện ra các điểm thay đổi xu hướng sớm hơn. Chiến lược này kết hợp nhiều đường hai chỉ số thời gian, có thể theo dõi hiệu quả hướng xu hướng của thị trường.

Kết hợp các đường DEM trong nhiều thời gian, cải thiện chất lượng tín hiệu giao dịch, tránh phá vỡ giả. Đồng thời, chiến lược chỉ tạo tín hiệu khi ba đường giao nhau, tránh giao dịch quá thường xuyên.

Phân tích rủi ro

Chiến lược này có những rủi ro:

  1. Có ít tín hiệu giao thoa ba đường, dễ bị bỏ qua một số cơ hội giao dịch;
  2. DEM bị chậm trễ trong quá trình giao dịch, không thể phản ứng kịp thời với sự thay đổi giá cả;
  3. Không thể đối phó hiệu quả với những hành vi không theo xu hướng.

Có thể cải thiện và kiểm soát rủi ro hơn nữa bằng cách tối ưu hóa các tham số trung bình di chuyển, thêm các điều kiện lọc.

Hướng tối ưu hóa

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

  1. 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 thị trường khác nhau;
  2. Tăng các điều kiện lọc như khối lượng giao dịch, tỷ lệ biến động và tránh các tín hiệu sai;
  3. Kết hợp với các chỉ số khác để lọc các tín hiệu giả, chẳng hạn như MACD, KDJ, v.v.
  4. Tăng chiến lược dừng lỗ, kiểm soát tổn thất đơn lẻ;
  5. Tối ưu hóa quản lý vị trí để tỷ lệ lợi nhuận lớn hơn tỷ lệ thua lỗ.

Tóm tắt

Chiến lược giao chéo đường trung bình di chuyển hai chỉ số có ý tưởng tổng thể rõ ràng, sử dụng kết hợp DEM trong nhiều thời gian, để đánh giá hiệu quả hướng xu hướng thị trường, là một chiến lược theo dõi xu hướng điển hình. Chiến lược này có thể được cải thiện theo nhu cầu thực tế bằng cách tối ưu hóa tham số, tăng điều kiện lọc, quản lý dừng lỗ, để có được hiệu quả chiến lược tốt hơn.

Mã nguồn chiến lược
/*backtest
start: 2022-11-16 00:00:00
end: 2023-11-22 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/
// © Noldo

//@version=4
//Quoted by Author HighProfit

//Lead-In
strategy("Double Exponential Moving Average 8-20-63 Strategy", 
         shorttitle="DEMA-8-20-63", 
         overlay=true,
         max_bars_back = 5000,
         initial_capital=100000, 
         max_bars_back = 5000,
         default_qty_type=strategy.percent_of_equity, 
         default_qty_value=100, 
         commission_type=strategy.commission.percent, 
         commission_value=0.1,
         pyramiding = 0)

short = input(8, minval=1)
srcShort = input(ohlc4, title="Source Dema 1")

long = input(20, minval=1)
srcLong = input(low, title="Source Dema 2")

long2 = input(63, minval=1)
srcLong2 = input(close, title="Source Dema 3")
e1 = ema(srcShort, short)
e2 = ema(e1, short)
dema1 = 2 * e1 - e2
plot(dema1, color=color.green, linewidth=2)

e3 = ema(srcLong, long)
e4 = ema(e3, long)
dema2 = 2 * e3 - e4
plot(dema2, color=color.blue, linewidth=2)

e5 = ema(srcLong2, long2)
e6 = ema(e5, long2)
dema3 = 2 * e5 - e6
plot(dema3, color=color.black, linewidth=2)

longC  = dema1 > dema2 and dema1 > dema3
shortC = dema1 < dema2 and dema1 < dema3 

alertlong  = longC and  not longC[1]
alertshort = shortC and not shortC[1]


strategy.entry("Long" , strategy.long , when = longC ,comment="Long")
strategy.entry("Short", strategy.short, when = shortC,comment="Short")

// Alerts 

alertcondition(longC  , title='Long' , message=' Buy  Signal ')
alertcondition(shortC , title='Short', message=' Sell Signal ')