Chiến lược này là một hệ thống giao dịch định lượng dựa trên nhiều tín hiệu chéo trung bình di chuyển đơn giản (SMA). Nó sử dụng ba SMA với các khoảng thời gian khác nhau (20, 50 và 200 ngày) để xác định những thay đổi xu hướng thị trường và cơ hội giao dịch tiềm năng bằng cách nắm bắt các chéo trung bình di chuyển và mối quan hệ vị trí giá. Chiến lược xem xét cả chéo trung bình di chuyển ngắn hạn và trung hạn trong khi sử dụng trung bình di chuyển dài hạn như một bộ lọc xu hướng để nâng cao chất lượng giao dịch.
Logic cốt lõi dựa trên các yếu tố chính sau:
Đây là một chiến lược giao dịch trung bình động có cấu trúc tốt với logic rõ ràng. Bằng cách sử dụng toàn diện các trung bình động của các giai đoạn khác nhau kết hợp với mối quan hệ vị trí giá, chiến lược có hiệu quả nắm bắt những thay đổi xu hướng thị trường. Mặc dù nó có một số rủi ro vốn có như chậm trễ và sự dễ bị tổn thương của thị trường, chiến lược duy trì giá trị thực tế thông qua các thiết lập tham số hợp lý và lọc tín hiệu.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-25 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SMA 20/50/200 Strateji", overlay=true) // SMA Periyotlarını, renklerini ve çizgi kalınlıklarını özelleştirme sma20_period = input.int(20, title="SMA 20 Periyodu", minval=1) sma50_period = input.int(50, title="SMA 50 Periyodu", minval=1) sma200_period = input.int(200, title="SMA 200 Periyodu", minval=1) sma20_color = input.color(color.blue, title="SMA 20 Rengi") sma50_color = input.color(color.orange, title="SMA 50 Rengi") sma200_color = input.color(color.red, title="SMA 200 Rengi") sma20_width = input.int(2, title="SMA 20 Kalınlığı", minval=1, maxval=5) sma50_width = input.int(2, title="SMA 50 Kalınlığı", minval=1, maxval=5) sma200_width = input.int(2, title="SMA 200 Kalınlığı", minval=1, maxval=5) // SMA Hesaplamaları sma20 = ta.sma(close, sma20_period) sma50 = ta.sma(close, sma50_period) sma200 = ta.sma(close, sma200_period) // Al ve Sat Koşulları buyCondition = ta.crossover(sma20, sma50) and close > sma200 sellCondition = ta.crossunder(sma20, sma50) and close < sma200 buyCondition_50_200 = ta.crossover(sma50, sma200) sellCondition_50_200 = ta.crossunder(sma50, sma200) // Grafik üzerine SMA çizimleri plot(sma20, color=sma20_color, linewidth=sma20_width, title="SMA 20") plot(sma50, color=sma50_color, linewidth=sma50_width, title="SMA 50") plot(sma200, color=sma200_color, linewidth=sma200_width, title="SMA 200") // Al-Sat Stratejisi if buyCondition strategy.entry("Buy", strategy.long) label.new(bar_index, low, "BUY", style=label.style_label_up, color=color.new(color.green, 0), textcolor=color.white) if sellCondition strategy.close("Buy") label.new(bar_index, high, "SELL", style=label.style_label_down, color=color.new(color.red, 0), textcolor=color.white) if buyCondition_50_200 label.new(bar_index, low, "50/200 BUY", style=label.style_label_up, color=color.new(color.blue, 0), textcolor=color.white) if sellCondition_50_200 label.new(bar_index, high, "50/200 SELL", style=label.style_label_down, color=color.new(color.orange, 0), textcolor=color.white) // Performans Görselleştirmesi İçin Arka Plan Rengi bgColor = buyCondition ? color.new(color.green, 90) : sellCondition ? color.new(color.red, 90) : na bgcolor(bgColor)