Chiến lược thoát khỏi S/R tự động

Tác giả:ChaoZhang, Ngày: 2023-12-06 16:51:30
Tags:

img

Tổng quan

Chiến lược S / R tự động là một chiến lược theo xu hướng. Nó tính toán giá cao nhất và thấp nhất trong một số khoảng thời gian nhất định để xác định mức hỗ trợ và kháng cự chính. Khi giá vượt qua các mức chính này, lệnh mua hoặc bán được thực hiện.

Chiến lược logic

Chiến lược đầu tiên tính toán giá cao nhất và thấp nhất trên một số thanh ở bên trái và phải để xác định mức hỗ trợ và kháng cự chính. Sau đó, nó tính toán giá cao nhất và thấp nhất trên một số thanh nhỏ hơn để xác định mức hỗ trợ và kháng cự ngắn hạn. Khi giá vượt qua mức hỗ trợ ngắn hạn, lệnh mua được kích hoạt. Khi giá vượt qua mức kháng cự ngắn hạn, lệnh bán được kích hoạt.

Lý thuyết chính đằng sau chiến lược này là nếu giá phá vỡ mức hỗ trợ hoặc kháng cự hình thành ở cả hai bên trong một số khoảng thời gian nhất định, nó có thể báo hiệu sự bắt đầu của một xu hướng mới. Nhập vị trí theo hướng phá vỡ cho phép nắm bắt xu hướng mới nổi. Chiến lược kết hợp các khung thời gian khác nhau để xác nhận xu hướng, tránh bị đánh lừa bởi biến động giá ngắn hạn.

Phân tích lợi thế

Ưu điểm lớn nhất của chiến lược này là nó có thể tự động xác định các mức hỗ trợ và kháng cự chính, loại bỏ sự cần thiết phải xác định mức giá theo cách thủ công. Bằng cách kết hợp các khung thời gian khác nhau, nó có thể lọc hiệu quả các đột phá sai, tránh bị mắc kẹt trong các vị trí thua lỗ.

Ngoài ra, các quy tắc nhập và thoát là đơn giản và thẳng thắn - chỉ cần phá vỡ các mức S / R ngắn hạn. Điều này làm cho chiến lược dễ dàng thực hiện và tối ưu hóa bằng cách điều chỉnh các tham số.

Phân tích rủi ro

Rủi ro lớn nhất là mức S / R được tính toán tự động có thể không đáng tin cậy và giá có thể phá vỡ mà không bắt đầu xu hướng.

Ngoài ra, nếu thời gian cho S / R ngắn hạn quá ngắn, nó có thể tạo ra các tín hiệu sai quá mức, dẫn đến tổn thất cao trong giao dịch trực tiếp.

Để giảm rủi ro, hãy xem xét thêm các điều kiện lọc bằng cách sử dụng các chỉ số khác như khối lượng và đường trung bình động để xác nhận hướng xu hướng trước khi nhập. Các nhà giao dịch cũng có thể kiểm tra và xác nhận tính hợp lý của các mức S / R được tính toán tự động.

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

Có hai khía cạnh chính mà chiến lược này có thể được tối ưu hóa:

  1. Tối ưu hóa các thông số đầu vào để tìm kết hợp thời gian tối ưu cho tỷ lệ thành công đột phá cao nhất.

  2. Thêm các bộ lọc bổ sung như chỉ số khối lượng / động lượng và đường trung bình động để tránh đột phá sai. Kết hợp với kiểm tra thủ công mức S / R cũng có thể cải thiện hiệu suất.

Tóm lại

Nhìn chung, đây là một khuôn khổ vững chắc để tự động xác định mức hỗ trợ và kháng cự. Việc thực hiện đơn giản nhờ phát hiện S / R tự động, làm cho nó phù hợp với các chiến lược theo xu hướng.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-12-05 00:00:00
period: 1d
basePeriod: 1h
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/
// © lukaRT

//@version=5
strategy("Auto S/R Strategy", shorttitle="Auto S/R", overlay=true)

// Ваши входные параметры
leftBars = input.int(50, title="Left Bars")
rightBars = input.int(25, title="Right Bars")
quickRightBars = input.int(5, title="Quick Right Bars")
src = input(close, title="Source")

pivotHigh = ta.pivothigh(src, leftBars, rightBars)
pivotLow = ta.pivotlow(src, leftBars, rightBars)

quickPivotHigh = ta.pivothigh(src, leftBars, quickRightBars)
quickPivotLow = ta.pivotlow(src, leftBars, quickRightBars)

// Ваши уровни сопротивления и поддержки
resistanceLevel1 = ta.valuewhen(quickPivotHigh, high[quickRightBars], 0)
supportLevel1 = ta.valuewhen(quickPivotLow, low[quickRightBars], 0)

// Пересечение ценой уровней
longCondition = ta.crossover(close, supportLevel1)
shortCondition = ta.crossunder(close, resistanceLevel1)

strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)

// Отображение линий сопротивления и поддержки на графике
plot(resistanceLevel1, color=color.red, title="Resistance Level 1")
plot(supportLevel1, color=color.green, title="Support Level 1")


Thêm nữa