Chiến lược chéo trung bình động ba lần

Tác giả:ChaoZhang, Ngày: 2023-11-06 09:48:33
Tags:

img

Tổng quan

Chiến lược chéo trung bình di chuyển ba lần sử dụng chéo trung bình di chuyển trong các khoảng thời gian khác nhau làm tín hiệu giao dịch, thuộc về các chiến lược theo xu hướng. Nó sử dụng ba trung bình di chuyển, bao gồm trung bình di chuyển ngắn hạn, trung hạn và dài hạn, để tạo tín hiệu giao dịch dựa trên chéo của chúng.

Chiến lược logic

Đầu tiên, chiến lược tính toán các đường trung bình động ngắn hạn (thất định 7 ngày), trung hạn (thất định 25 ngày) và dài hạn (thất định 99 ngày).

  1. Khi MA ngắn hạn vượt qua MA trung hạn, một tín hiệu mua được tạo ra.

  2. Khi MA ngắn hạn vượt qua dưới MA trung hạn, một tín hiệu bán được tạo ra.

  3. Khi MA ngắn hạn vượt qua MA dài hạn, một tín hiệu mua nhanh được tạo ra.

  4. Khi MA ngắn hạn vượt qua dưới MA dài hạn, một tín hiệu bán nhanh được tạo ra.

Chiến lược này tin rằng MA ngắn hạn vượt qua trên MA trung hạn cho thấy xu hướng tăng, do đó, một tín hiệu mua được tạo ra. Và MA ngắn hạn vượt qua dưới MA trung hạn cho thấy xu hướng giảm, do đó, một tín hiệu bán được tạo ra. Tương tự, sự chéo chéo giữa MA ngắn hạn và MA dài hạn cũng tạo ra các tín hiệu giao dịch nhanh để nắm bắt xu hướng thay đổi dài hạn.

Phân tích lợi thế

  • Logic chiến lược đơn giản và dễ hiểu và thực hiện.

  • Sử dụng phân tích nhiều khung thời gian có thể nắm bắt hiệu quả những thay đổi trong xu hướng thị trường.

  • Các thông số có thể được tối ưu hóa bằng cách điều chỉnh các khoảng thời gian MA.

  • Các tín hiệu chéo trực quan trực quan phản ánh những thay đổi xu hướng.

Phân tích rủi ro

  • Các MAs có vấn đề chậm trễ và có thể bỏ lỡ các điểm đảo ngược xu hướng.

  • Quá nhiều tín hiệu sai khi MA ngắn hạn vượt quá MA dài hạn trong thị trường tăng.

  • Quá nhiều tín hiệu sai khi MA ngắn hạn vượt qua dưới MA dài hạn trong thị trường gấu.

  • Các tín hiệu giao dịch nhanh có thể quá nhạy cảm, tăng tần suất giao dịch và hoa hồng.

Điều chỉnh đúng thời gian MA hoặc thêm các điều kiện lọc có thể giúp tối ưu hóa và giảm tín hiệu sai.

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

  • Thêm các điều kiện lọc, chẳng hạn như tạo tín hiệu chỉ khi đáp ứng khối lượng giao dịch nhất định hoặc tỷ lệ thay đổi giá.

  • Kết hợp với các chỉ số khác như MACD, KDJ để tránh giao dịch sai khi không có xu hướng rõ ràng.

  • Tối ưu hóa các kết hợp thời gian MA để giảm tín hiệu sai.

  • Phân biệt thị trường tăng và giảm, tối ưu hóa các thông số mua và bán riêng biệt.

  • Xem xét chi phí giao dịch, điều chỉnh các thông số giao dịch nhanh để kiểm soát tần suất.

Tóm lại

Chiến lược chéo MA ba tương đối đơn giản, đánh giá hướng xu hướng thông qua chéo của các MAs khung thời gian khác nhau để tạo ra tín hiệu giao dịch. Nó dễ dàng thực hiện với các điều chỉnh tham số linh hoạt để nắm bắt những thay đổi xu hướng. Nhưng nó cũng có các vấn đề về MA tụt lại và tín hiệu sai quá mức. Các phương pháp như thêm bộ lọc và tối ưu hóa sự kết hợp tham số có thể cải thiện chiến lược. Nó phù hợp với các nhà giao dịch quan tâm đến chéo xu hướng để tối ưu hóa và áp dụng.


/*backtest
start: 2023-10-06 00:00:00
end: 2023-11-05 00:00:00
period: 1h
basePeriod: 15m
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/
// © dadashkadir

//@version=4
strategy("Üç Hareketli Ortalama Str.", overlay=true, initial_capital=10000, commission_value=0.047, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0, calc_on_order_fills=true)

kisa = input(title = "Kısa Vade - Gün", defval = 7,  minval = 1)
orta = input(title = "Orta Vade - Gün", defval = 25, minval = 1)
uzun = input(title = "Uzun Vade - Gün", defval = 99, minval = 1)

sma7  = sma(close, kisa)
sma25 = sma(close, orta)
sma99  = sma(close, uzun)

alTrend  = plot (sma7, color=#2323F1, linewidth=2, title="Har.Ort. Kısa Vade", transp=0)
satTrend = plot (sma25, color=#FF0C00, linewidth=3, title="Har.Ort. Orta Vade", transp=0)
ort99    = plot (sma99, color=#DFB001, linewidth=3, title="Har.Ort. Uzun Vade", transp=0)

zamanaralik = input (2020, title="Backtest Başlangıç Tarihi")

al  = crossover (sma7, sma25) and zamanaralik <= year
sat = crossover (sma25, sma7) and zamanaralik <= year

hizlial = crossover (sma7, sma99) and zamanaralik <= year
hizlisat = crossover (sma99, sma7) and zamanaralik <= year

alkosul  = sma7 >= sma25
satkosul = sma25 >= sma7

hizlialkosul  = sma7 >= sma99
hizlisatkosul = sma99 >= sma7

plotshape(al,  title = "Buy",  text = 'Al',  style = shape.labelup,   location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sat, title = "Sell", text = 'Sat', style = shape.labeldown, location = location.abovebar, color= color.red,   textcolor = color.white, transp = 0, size = size.tiny)

plotshape(hizlial,  title = "Hızlı Al",  text = 'Hızlı Al',  style = shape.labelup,   location = location.belowbar, color= color.blue, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(hizlisat, title = "Hızlı Sat", text = 'Hızlı Sat', style = shape.labeldown, location = location.abovebar, color= #6106D6 , textcolor = color.white, transp = 0, size = size.tiny)

fill (alTrend, satTrend, color = sma7 >= sma25? #4DFF00 : #FF0C00, transp=80, title="Al-Sat Aralığı")
//fill (ort99, satTrend, color = sma7 >= sma25? #6106D6 : color.blue, transp=80, title="Hızlı Al-Sat Aralığı")

if (al)
    strategy.entry("LONG", strategy.long)
if (sat)
    strategy.entry("SHORT", strategy.short)
//if (hizlial)
//    strategy.entry("My Short Entry Id", strategy.long)
//if (hizlisat)
//    strategy.entry("My Short Entry Id", strategy.short)    

Thêm nữa