Chiến lược này là một hệ thống giao dịch đột phá xu hướng kết hợp trung bình động với các khái niệm đột phá giá. Cơ chế cốt lõi là tạo ra các tín hiệu giao dịch dựa trên giá đóng phá vỡ trên mức trung bình động, với mức dừng lỗ được đặt ở mức thấp gần đây và tỷ lệ lợi nhuận/mất 2: 1 cho quản lý rủi ro. Chiến lược sử dụng Trung bình Di chuyển đơn giản như một chỉ số xu hướng và xác định những thay đổi xu hướng thông qua đường chéo giá.
Chiến lược sử dụng chỉ số trung bình di chuyển đơn giản (SMA) 20 giai đoạn như một chỉ số xu hướng. Các tín hiệu dài được tạo ra khi giá đóng phá vỡ trên mức trung bình di chuyển từ dưới. Mức dừng lỗ được đặt ở điểm thấp nhất của 7 ngọn nến trước đây để tránh đặt chúng quá gần với các điểm nhập cảnh. Mức lấy lợi nhuận được đặt bằng cách sử dụng tỷ lệ phần thưởng-rủi ro cổ điển 2: 1, có nghĩa là mục tiêu lợi nhuận gấp đôi khoảng cách của mức dừng lỗ. Chiến lược bao gồm các thành phần trực quan đánh dấu các đường xu hướng, tín hiệu giao dịch và mức dừng lỗ / lấy lợi nhuận trên biểu đồ.
Đây là một chiến lược theo xu hướng có cấu trúc tốt với logic rõ ràng. Nó tạo ra tín hiệu thông qua các bước đột phá trung bình động, kết hợp với các cơ chế quản lý rủi ro hợp lý, làm cho nó có thể áp dụng thực tế. Trong khi rủi ro vốn có tồn tại, các hướng tối ưu hóa được đề xuất có thể tăng cường sự ổn định và lợi nhuận của chiến lược. Chiến lược này phù hợp với điều kiện thị trường xu hướng, và các nhà giao dịch có thể điều chỉnh các tham số theo đặc điểm thị trường cụ thể.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-11 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Trend Breakout with SL and TP", overlay=true) // Parametrlar length = input(25, title="Length for SL Calculation") trendLength = input(20, title="Trend Line Length") // Trend chizig'ini hisoblash trendLine = ta.sma(close, trendLength) // Yopilish narxi trend chizig'ini yorib o'tganda signal longSignal = close > trendLine and close[1] <= trendLine // Oxirgi 7 shamning minimumini hisoblash lowestLow = ta.lowest(low, 7) // Stop Loss darajasini belgilash longSL = lowestLow // SL oxirgi 7 shamning minimumiga teng // Take Profit darajasini SL ga nisbatan 2 baravar ko'p qilib belgilash longTP = longSL + (close - longSL) * 2 // TP 2:1 nisbatida // Savdo bajarish if longSignal strategy.entry("Long", strategy.long) strategy.exit("Take Profit", "Long", limit=longTP) strategy.exit("Stop Loss", "Long", stop=longSL) // Grafikda trend chizig'ini chizish plot(trendLine, title="Trend Line", color=color.blue, linewidth=2) // Signal chizish plotshape(longSignal, style=shape.labelup, location=location.belowbar, color=color.green, size=size.small, title="Buy Signal") // SL va TP darajalarini ko'rsatish // if longSignal // // SL chizig'i // line.new(bar_index, longSL, bar_index + 1, longSL, color=color.red, width=2, style=line.style_dashed) // // TP chizig'i // line.new(bar_index, longTP, bar_index + 1, longTP, color=color.green, width=2, style=line.style_dashed) // // SL va TP label'larini ko'rsatish // label.new(bar_index, longSL, "SL: " + str.tostring(longSL), color=color.red, style=label.style_label_down, textcolor=color.white, size=size.small) // label.new(bar_index, longTP, "TP: " + str.tostring(longTP), color=color.green, style=label.style_label_up, textcolor=color.white, size=size.small)