Chiến lược chéo trung bình di chuyển hàm số hai

Tác giả:ChaoZhang, Ngày: 2023-11-23 17:34:06
Tags:

img

Tổng quan

Chiến lược chéo trung bình di chuyển hàm số hai là một chiến lược theo xu hướng điển hình. Nó sử dụng chéo vàng và chéo chết của Trung bình di chuyển hàm số hai (DEMA) với các thông số khác nhau để xác định xu hướng thị trường và thực hiện các vị trí dài và ngắn tương ứng.

Chiến lược logic

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

  • DEMA (8) phản ứng nhanh nhất để nắm bắt các xu hướng ngắn hạn;

  • DEMA))) di chuyển 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 để đánh giá hướng xu hướng dài hạn.

Khi đường nhanh DEMA ((8) vượt qua trên đường trung DEMA ((20) và đường chậm DEMA ((63), nó chỉ ra rằng thị trường quay từ dưới lên trên, vị trí mua nên được thực hiện. Khi DEMA ((8) vượt qua dưới DEMA ((20) và DEMA ((63), nó chỉ ra rằng thị trường quay từ trên xuống dưới, vị trí mua nên được thực hiện.

Phân tích lợi thế

So với đường trung bình động duy nhất, đường trung bình động nhân đôi nhạy cảm hơn với sự thay đổi giá và có thể phát hiện các điểm chuyển đổi của xu hướng sớm hơn.

Sự kết hợp của các đường DEM nhiều khung thời gian cải thiện chất lượng tín hiệu giao dịch và tránh phá vỡ sai. Đồng thời, chiến lược chỉ tạo ra tín hiệu khi ba đường giao dịch giao dịch, tránh tần suất giao dịch quá mức.

Phân tích rủi ro

Những rủi ro chính của chiến lược này là:

  1. Ít tín hiệu chéo của ba đường có thể bỏ lỡ một số cơ hội giao dịch.
  2. Các đường DEM vượt qua chậm có thể không phản ứng kịp thời với sự thay đổi giá khi thị trường biến động mạnh.
  3. Nó không thể đối phó với các thị trường lớn không có xu hướng hiệu quả.

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

Hướng dẫn tối ưu hóa

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

  1. Tối ưu hóa các thông số trung bình động để phù hợp hơn với các đặc điểm thị trường khác nhau.
  2. Thêm các bộ lọc như âm lượng, biến động để tránh các tín hiệu sai.
  3. Kết hợp các chỉ số khác như MACD, KDJ để lọc các tín hiệu giả.
  4. Thêm chiến lược dừng lỗ để kiểm soát lỗ đơn.
  5. Tối ưu hóa quản lý vị trí để tỷ lệ lợi nhuận lớn hơn tỷ lệ lỗ.

Tóm lại

Chiến lược giao thoa DEMA có một ý tưởng tổng thể rõ ràng. Bằng cách kết hợp DEMA nhiều khung thời gian, nó có thể xác định hiệu quả hướng xu hướng thị trường và là một chiến lược theo xu hướng điển hình. Chiến lược có thể được cải thiện bằng cách tối ưu hóa tham số, thêm bộ lọc, quản lý dừng lỗ v.v. theo nhu cầu thực tế, để có được kết quả chiến lược tốt hơn.


/*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 ')



Thêm nữa