
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.
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:
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.
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.
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.
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.
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.
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ả.
/*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)