Chiến lược chéo giữa hai mức trung bình động

Tác giả:ChaoZhang, Ngày: 2024-02-27 13:51:51
Tags:

img

Tổng quan

Chiến lược này tính toán và vẽ đồ thị trung bình di chuyển đơn giản (SMA) 20 giai đoạn và trung bình di chuyển theo cấp số nhân (EMA) 21 giai đoạn, điền màu giữa chúng để hình dung vùng biến động giá. Nó tạo ra tín hiệu mua khi giá vượt qua trên SMA 20 giai đoạn và bán tín hiệu khi giá vượt qua dưới EMA 21 giai đoạn. Chiến lược cũng có chức năng dừng lỗ và lấy lợi nhuận.

Chiến lược logic

Ý tưởng cốt lõi của chiến lược chéo trung bình động kép là sử dụng các chéo giữa trung bình di chuyển nhanh và chậm làm tín hiệu giao dịch. SMA 20 giai đoạn phản ứng nhanh hơn với những thay đổi giá trong khi EMA 21 giai đoạn hơi chậm nhưng mượt mà hơn. Khi xu hướng ngắn hạn và dài hạn phù hợp, tức là hai trung bình di chuyển chéo lên hoặc xuống, nó cho thấy xu hướng đang tăng cường và các quyết định giao dịch có thể sẽ có lợi nhuận hơn.

Cụ thể, khi giá đóng vượt qua trên đường SMA 20 giai đoạn, nó cho thấy cả ngắn hạn và dài hạn đều đang trong xu hướng tăng, vì vậy hãy đi dài. Khi giá đóng vượt dưới đường EMA 21 giai đoạn, nó cho thấy cả ngắn hạn và dài hạn đều đang trong xu hướng giảm, vì vậy hãy đi ngắn. Các tín hiệu thoát ngược lại với các tín hiệu nhập cảnh. Ví dụ, khi giá giảm xuống dưới đường SMA 20 giai đoạn, đóng các vị trí dài. Khi giá vượt qua lại đường EMA 21 giai đoạn, đóng các vị trí ngắn.

Kỹ thuật lấp cũng được sử dụng để lấp đầy màu sắc giữa hai đường trung bình động để tạo thành một chỉ số trực quan để giúp đánh giá xu hướng thị trường.

Ưu điểm

Chiến lược chéo trung bình động kép có những lợi thế sau:

  1. Logic đơn giản và dễ hiểu và thực hiện;
  2. Sự chéo chéo của hai đường trung bình động cho thấy một cách đáng tin cậy những thay đổi trong hướng xu hướng;
  3. Chỉ số trực quan hiển thị trực quan mức độ biến động giá;
  4. Trailing dừng lỗ và lấy lợi nhuận khóa lợi nhuận và giảm rủi ro;
  5. Khả năng mở rộng cao cho các tối ưu hóa khác nhau dựa trên chiến lược này.

Rủi ro

Ngoài ra còn có một số rủi ro với chiến lược này:

  1. Có xu hướng bị chọc và tạo ra tín hiệu sai trong thời gian giới hạn phạm vi;
  2. Các thiết lập dừng lỗ và lấy lợi nhuận không đúng có thể dẫn đến lỗ hoặc giảm lợi nhuận;
  3. Việc điều chỉnh các tham số không đầy đủ (ví dụ như độ dài thời gian) có thể ảnh hưởng tiêu cực đến hiệu suất chiến lược;
  4. Giao dịch tự động có thể gây ra tổn thất liên tiếp.

Các biện pháp sau đây có thể được áp dụng để giải quyết các rủi ro trên:

  1. Thêm bộ lọc để tránh vào trong thời gian sốc;
  2. Tối ưu hóa các thông số dừng lỗ và lấy lợi nhuận để cân bằng rủi ro-lợi nhuận;
  3. Kiểm tra độ bền của các tham số và chọn các tham số phù hợp với thị trường;
  4. Can thiệp thủ công trong trường hợp đặc biệt để ngăn ngừa tổn thất lớn hơn.

Cơ hội gia tăng

Chiến lược có thể được cải thiện trong các khía cạnh sau:

  1. Thêm các bộ lọc chỉ số kỹ thuật khác, chẳng hạn như khối lượng và biến động, để tránh sự đột phá sai;
  2. Tối ưu hóa động các thông số trung bình động dựa trên học máy;
  3. Kết hợp phân tích tình cảm và tin tức để cải thiện các quyết định;
  4. Xây dựng cơ chế dừng lỗ thích nghi để điều chỉnh quy mô dừng lỗ dựa trên điều kiện thị trường.

Tóm lại

Chiến lược này xác định những thay đổi xu hướng bằng cách sử dụng các chéo giữa các đường trung bình di chuyển nhanh và chậm, và đưa ra các quyết định dài và ngắn tương ứng. Nó có những lợi thế như sự đơn giản, trực quan và dễ thực hiện, nhưng cũng mang một số rủi ro. Những rủi ro có thể được giảm và cải thiện hiệu suất thông qua tối ưu hóa tham số, thêm bộ lọc, giám sát thủ công vv. Chiến lược có khả năng mở rộng lớn và đáng để nghiên cứu và áp dụng sâu sắc.


/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-26 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("BMSB Breakout Strategy", shorttitle="BMSB Breakout", overlay=true)

source = close
smaLength = 20
emaLength = 21

sma = ta.sma(source, smaLength)
ema = ta.ema(source, emaLength)

outSma = request.security(syminfo.tickerid, timeframe.period, sma)
outEma = request.security(syminfo.tickerid, timeframe.period, ema)

smaPlot = plot(outSma, color=color.new(color.red, 0), title='20w SMA')
emaPlot = plot(outEma, color=color.new(color.green, 0), title='21w EMA')

fill(smaPlot, emaPlot, color=color.new(color.orange, 75), fillgaps=true)

// Definir condiciones para la estrategia de compra y venta
buyCondition = ta.crossover(close, outSma)
sellCondition = ta.crossunder(close, outEma)

// Entrada larga (compra) y salida corta
strategy.entry("Long", strategy.long, when=buyCondition and not na(sellCondition))
strategy.close("Short", when=buyCondition)

// Entrada corta (venta) y salida larga
strategy.entry("Short", strategy.short, when=sellCondition and not na(buyCondition))
strategy.close("Long", when=sellCondition)

// Puedes ajustar la configuración de la estrategia y los valores predeterminados según tus preferencias

plotshape(series=buyCondition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Buy Signal")
plotshape(series=sellCondition, location=location.abovebar, color=color.red, style=shape.triangledown, title="Sell Signal")


Thêm nữa