Chiến lược điều chỉnh đường trung bình động được làm mịn


Ngày tạo: 2023-10-24 16:52:52 sửa đổi lần cuối: 2023-10-24 16:52:52
sao chép: 1 Số nhấp chuột: 687
1
tập trung vào
1617
Người theo dõi

Chiến lược điều chỉnh đường trung bình động được làm mịn

Tổng quan

Chiến lược này sử dụng chỉ số Brin để đánh giá xu hướng và kết hợp với chỉ số RSI để tránh mua quá mức, và lọc thực thể và lọc màu để xác minh thêm tín hiệu giao dịch. Nhìn chung, ý tưởng chính của chiến lược này là mua vào giai đoạn bắt đầu xu hướng và thoát ra trước khi xu hướng đảo ngược để thu lợi nhuận.

Nguyên tắc

Chiến lược này đầu tiên sử dụng đường ray dưới trong chỉ số Brin, coi đó là cơ hội để đặt vị trí nghi lễ khi giá thấp hơn đường ray. Để tránh mua quá mức, chiến lược cũng giới thiệu chỉ số RSI, yêu cầu RSI nhỏ hơn 30 để tạo ra tín hiệu mua. Ngoài ra, chiến lược cũng thiết lập bộ lọc thực thể ngọc, yêu cầu thực thể trên đường K hiện tại lớn hơn một nửa số thực thể trung bình của đường K 10 trước đó sẽ kích hoạt mua.

Khi giá vượt qua Bollinger Bands, RSI nhỏ hơn 30, thực thể đầy đủ, tạo ra tín hiệu mua cho đường K màu xanh lá cây. Và khi giá đóng cửa cao hơn mở cửa, thực thể lớn hơn một nửa của thực thể trung bình, tín hiệu đảo ngược xu hướng, tại thời điểm dừng chân.

Phân tích lợi thế

Lợi thế lớn nhất của chiến lược này là có thể thành công trong việc xác định thời gian bắt đầu xu hướng và thoát ra trước khi xu hướng đảo ngược, do đó có tiềm năng lợi nhuận lớn. Cụ thể, những lợi thế chính là:

  1. Đường trục Brin đánh giá xu hướng chính xác. Đường trục Brin đánh giá xu hướng giá bằng cách phù hợp với phạm vi biến động giá, sử dụng chỉ số này có thể xác định hiệu quả xu hướng bắt đầu và kết thúc.

  2. Chỉ số RSI tránh mua quá mức. RSI có thể đo lường tình trạng mua quá mức, kết hợp với RSI để tránh mua sai khi giá điều chỉnh ngắn hạn.

  3. Bộ lọc thực thể làm tăng độ tin cậy của tín hiệu. Một bộ lọc thực thể lớn hơn đại diện cho một đột phá mạnh mẽ hơn, bộ lọc thực thể có thể đảm bảo mua một đột phá mạnh mẽ hơn.

  4. Bộ lọc màu xác nhận thời gian mua. Chỉ mua khi K là màu xanh lá cây, bạn có thể xác nhận lại thời gian mua.

  5. Các nhà giao dịch thường nói rằng xu hướng thăng là xu hướng của dòng chảy, bằng cách xoay màu xanh lá cây có thể xác định kịp thời thời điểm xu hướng đảo ngược.

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro cần lưu ý:

  1. Các chỉ số Brin có thể phát ra tín hiệu sai. Brin có thể phát ra tín hiệu đột phá sai khi thị trường bị chấn động.

  2. Không tính đến dừng lỗ dẫn đến tổn thất mở rộng. Chiến lược này không thiết lập dừng lỗ, nếu phán đoán sai có thể dẫn đến tổn thất lớn hơn.

  3. Điều kiện lọc quá nghiêm ngặt để bỏ lỡ thời gian mua. Nếu sử dụng nhiều điều kiện lọc chồng lên nhau, bạn có thể bỏ lỡ cơ hội mua.

  4. Tùy thuộc vào hiệu quả tối ưu hóa và đo lại tham số. Các thiết lập tham số và điều kiện lọc cần được tối ưu hóa và xác minh, hiệu quả ổ cứng cũng cần được xác minh.

  5. Đường K chuyển sang màu xanh lá cây cho thấy xu hướng đảo ngược không ổn định.

Các rủi ro của chiến lược tương ứng, có thể thiết lập dừng lỗ để kiểm soát tổn thất; tối ưu hóa điều kiện lọc, giảm khả năng mua không mua; Sử dụng nhiều chỉ số xác minh thời gian mua, tăng tỷ lệ thành công. Ngoài ra, cũng cần xác minh kết quả đo lường trên thực tế.

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

Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:

  1. Tối ưu hóa các tham số của Brin, tìm kiếm sự kết hợp tham số tốt nhất. Bạn có thể thử nghiệm các độ dài chu kỳ khác nhau, nhân số chênh lệch tiêu chuẩn, v.v.

  2. Kiểm tra các chỉ số khác nhau để thay thế RSI. Ví dụ: KDJ, chỉ số William.

  3. Thêm dừng di động để kiểm soát rủi ro. Thiết lập chiến lược dừng di động hợp lý dựa trên dữ liệu phản hồi.

  4. Tối ưu hóa các tham số điều kiện lọc. Kiểm tra các tham số lọc và chu kỳ của các thực thể lọc có kích thước khác nhau.

  5. Thử kết hợp các tín hiệu xác nhận với các chỉ số khác. Ví dụ như chỉ số xác nhận giá cả.

  6. Kiểm tra các tín hiệu đảo ngược khác nhau để xác định. Ví dụ, các tín hiệu như đường chéo đồng nhất để đánh giá xu hướng đảo ngược.

  7. Kiểm tra các loại giao dịch, thời gian. Đánh giá hiệu quả của chiến lược trong các thị trường khác nhau.

Tóm tắt

Chiến lược này nói chung có khả năng theo dõi xu hướng và khả năng thích ứng mạnh mẽ. Ưu điểm cốt lõi của chiến lược là sử dụng đường nét Boolean để xác định xu hướng và RSI và điều kiện lọc để đảm bảo thời gian mua.

Mã nguồn chiến lược
/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//Donate: 3BMEXvKkuJLobJrcpMm12bKTZoCnojZTjh

//@version=2
strategy(title = "Noro's Wizard Strategy v1.1", shorttitle = "Wizard str 1.1", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 10)

//Settings
capital = input(100, defval = 100, minval = 1, maxval = 10000, title = "Capital, %")
length = input(40, defval = 40, minval = 1, maxval = 200, title = "BB Period")
usebod = input(false, defval = false, title = "Use Body-Filter")
usecol = input(false, defval = false, title = "Use Color-Filter")
usersi = input(true, defval = true, title = "Use RSI-Filter")
showar = input(false, defval = false, title = "Show Arrows")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

//Bollinger
src = low
mult = 2
basis = sma(src, length)
dev = mult * stdev(src, length)
lower = basis - dev
plot(lower, color = lime, linewidth = 3, title="Bottom Line")

//Fast RSI Filter
fastup = rma(max(change(close), 0), 7)
fastdown = rma(-min(change(close), 0), 7)
rsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
rsif = rsi < 30 or usersi == false

//Body Filter
nbody = abs(close - open)
abody = sma(nbody, 10)
body = nbody > abody / 2 or usebod == false

//Signals
up1 = low < lower and (close < open or usecol == false) and body and rsif
exit = close > open and nbody > abody / 2

//Arrows
needar = up1 and showar
plotarrow(needar ? 1 : na)

//Trading
lot = strategy.position_size == 0 ? strategy.equity / close * capital / 100 : lot[1]

if up1
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()