Ba Chiến lược giao cắt đường trung bình động


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

Ba Chiến lược giao cắt đường trung bình động

Tổng quan

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

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

Chiến lược này đầu tiên tính toán các đường trung bình di chuyển ngắn hạn ((7 ngày mặc định), đường trung bình di chuyển trung bình ((25 ngày mặc định) và đường trung bình di chuyển dài hạn ((99 ngày mặc định)), sau đó tạo ra tín hiệu giao dịch theo các quy tắc sau:

  1. Một tín hiệu mua sẽ được tạo ra khi đường trung chuyển trên đường trung chuyển ngắn hạn.

  2. Một tín hiệu bán ra được tạo ra khi đường trung chuyển dưới đường trung chuyển ngắn hạn đi qua đường trung chuyển trung bình.

  3. Một tín hiệu mua nhanh được tạo ra khi một đường trung bình di chuyển ngắn hạn đi qua đường trung bình di chuyển dài hạn.

  4. Một tín hiệu bán nhanh được tạo ra khi đường trung bình di chuyển ngắn hạn đi qua đường trung bình di chuyển dài hạn.

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

Phân tích lợi thế

  • Lập luận chiến lược đơn giản, rõ ràng, dễ hiểu và dễ thực hiện.
  • Sử dụng phân tích chu kỳ đa thời gian, có thể nắm bắt được sự thay đổi của xu hướng thị trường một cách hiệu quả.
  • Các tham số của chiến lược có thể được tối ưu hóa bằng cách điều chỉnh chu kỳ của đường trung bình di chuyển.
  • Các tín hiệu chéo có thể nhìn thấy trực quan phản ánh sự thay đổi của xu hướng

Phân tích rủi ro

  • Các trung bình di động có thể bị tụt hậu và có thể bỏ lỡ điểm đảo ngược của xu hướng.
  • Trong thị trường đa đầu, có thể có quá nhiều tín hiệu giả trên đường dây ngắn.
  • Trong thị trường không đầu, có thể có quá nhiều tín hiệu giả đi qua đường dài dưới đường ngắn.
  • Các tín hiệu mua và bán nhanh có thể quá nhạy cảm, làm tăng số lần giao dịch và phí xử lý.

Có thể tối ưu hóa, giảm tín hiệu giả bằng cách điều chỉnh chu kỳ trung bình di chuyển thích hợp hoặc thêm điều kiện lọc. Cũng có thể rút ngắn chu kỳ giao dịch nhanh và giảm tần suất giao dịch.

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

  • Thêm các điều kiện lọc, chẳng hạn như chỉ phát ra tín hiệu khi lớn hơn một khối lượng giao dịch hoặc tỷ lệ phần trăm thay đổi giá.
  • Kết hợp với các bộ lọc chỉ số khác, chẳng hạn như MACD, KDJ, v.v., để tránh giao dịch sai khi không có xu hướng rõ ràng.
  • Tối ưu hóa sự kết hợp của chu kỳ trung bình di chuyển, giảm tín hiệu giả.
  • Phân biệt thị trường đầu nhiều và đầu trống, tối ưu hóa các tham số mua và bán.
  • Xem xét chi phí giao dịch, điều chỉnh các tham số giao dịch nhanh, kiểm soát tần suất giao dịch.

Tóm tắt

Chiến lược giao chéo ba đường trung bình nói chung là đơn giản và trực tiếp, xác định hướng xu hướng bằng cách giao chéo của đường trung bình trong các chu kỳ thời gian khác nhau để tạo ra tín hiệu giao dịch. Chiến lược này dễ thực hiện, điều chỉnh tham số linh hoạt, có thể nắm bắt sự thay đổi của xu hướng. Nhưng cũng có vấn đề về sự chậm trễ của đường trung bình di chuyển và nguy cơ có quá nhiều tín hiệu giả.

Mã nguồn chiến lược
/*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)