Chiến lược chéo trung bình động theo hàm số

Tác giả:ChaoZhang, Ngày: 2024-01-12 14:04:37
Tags:

img

EMA (Exponential Moving Average) là một tín hiệu giao dịch phổ biến. Chiến lược này sử dụng sự chéo chéo giữa EMA nhanh và EMA chậm để tạo ra tín hiệu giao dịch. Cụ thể, khi EMA nhanh vượt qua EMA chậm, một vị trí dài được thực hiện; khi EMA nhanh vượt qua dưới EMA chậm, một vị trí ngắn được thực hiện.

Chiến lược này sử dụng đường EMA 20 ngày như đường EMA nhanh, đường EMA 50 ngày như đường EMA trung bình và đường EMA 200 ngày như đường EMA chậm. Khi cả đường EMA 20 ngày và đường EMA 50 ngày vượt qua đường EMA 200 ngày, một vị trí dài được thực hiện; khi cả hai đường vượt qua dưới, một vị trí ngắn được thực hiện. Điều này giúp lọc một số tín hiệu sai.

Ưu điểm của Chiến lược

  1. Chiến lược chéo trung bình động đơn giản và dễ hiểu và thực hiện
  2. Sử dụng nhiều đường trung bình động có thể giúp lọc các tín hiệu sai
  3. Các tín hiệu vào và ra đều rõ ràng.

Rủi ro của chiến lược

  1. Có xu hướng tạo ra tín hiệu sai trong các thị trường giới hạn phạm vi
  2. Trung bình di chuyển có sự chậm trễ và có thể không nắm bắt các vòng quay nhanh chóng
  3. Không thể tận dụng đầy đủ các động tác nổ

Ý tưởng cải tiến

  1. Tối ưu hóa thời gian trung bình động cho các sản phẩm và khung thời gian khác nhau
  2. Thêm các bộ lọc như khối lượng và Bollinger Bands
  3. Kết hợp với xu hướng theo và đảo ngược trung bình cho sự linh hoạt

Tóm lại

Chiến lược chéo trung bình động dễ hiểu và là một trong những chiến lược giao dịch định lượng cơ bản. Việc thực hiện này phục vụ tốt như một ví dụ giới thiệu. Nhưng trong giao dịch trực tiếp, các thông số sẽ cần tối ưu hóa và các chỉ số kỹ thuật tiên tiến hơn nên được thêm vào để lọc tín hiệu và cải thiện hiệu suất.


/*backtest
start: 2023-01-05 00:00:00
end: 2024-01-11 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/
// © rt-maax

//@version=5

strategy(title = "rt maax EMA cross strategy", shorttitle = "rt maax ema ", overlay = true, precision = 8, max_bars_back = 200, pyramiding = 0, initial_capital = 100000, 
     currency = currency.USD, default_qty_type = strategy.cash, default_qty_value = 100000, commission_type = "percent", commission_value = 0.27)
fastema = ta.ema (close , 50)
fema=ta.ema(close,20)
slowema= ta.ema(close,200)
price = close

// === INPUT BACKTEST RANGE ===
fromMonth = input.int(defval = 1,    title = "From Month",  minval = 1, maxval = 12)
fromDay   = input.int(defval = 1,    title = "From Day",    minval = 1, maxval = 31)
fromYear  = input.int(defval = 2021, title = "From Year",   minval = 1970)
thruMonth = input.int(defval = 10,    title = "Thru Month",  minval = 1, maxval = 12)
thruDay   = input.int(defval = 25,    title = "Thru Day",    minval = 1, maxval = 31)
thruYear  = input.int(defval = 2112, title = "Thru Year",   minval = 1970)

// === INPUT SHOW PLOT ===
showDate  = input(defval = true, title = "Show Date Range")

// === FUNCTION EXAMPLE ===



longCondition1= ta.crossover (fema , fastema) 
longcondition2= fema> slowema
longcondition3=fastema>slowema


if (longCondition1 and longcondition2 and longcondition3 )
    stoploss=low*0.97
    takeprofit=high*1.12
    strategy.entry("Long Entry", strategy.long)
    strategy.exit ("exit","long",stop=stoploss,limit=takeprofit)
   


shortCondition1 = ta.crossunder (fema , fastema )
shortcondition2= fastema< slowema
shortcondition3= fema< slowema

if (shortCondition1 and shortcondition2 and shortcondition3 )
    stoploss=low*0.97 
    takeprofit=high*1.5
    strategy.entry("Short Entry", strategy.short)
    strategy.exit("exit","short",stop=stoploss,limit=takeprofit)






Thêm nữa