Chiến lược đột phá nhanh của Powell Index


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

Chiến lược đột phá nhanh của Powell Index

Tổng quan

Chiến lược này dựa trên chỉ số RSI và thực thể RSI của EMA để thực hiện các hoạt động đột phá nhanh. Nó sử dụng hình thức nhanh của RSI và thực thể RSI lớn để nhận ra tín hiệu đảo ngược.

Nguyên tắc chiến lược

  1. Tính toán chỉ số RSI, chu kỳ 7, với RMA để thực hiện hình thức tăng tốc.

  2. Tính toán EMA của kích thước thực thể, chu kỳ 30, làm chuẩn kích thước thực thể.

  3. Nếu RSI vượt qua giới hạn (đặc biệt là 30), và thực thể K-line hiện tại lớn hơn 14, thực thể trung bình sẽ làm nhiều hơn.

  4. Nếu RSI dưới giới hạn thâm hụt ((70 mặc định)), và thực thể K-line hiện tại lớn hơn 14, thực thể kích thước trung bình, hãy bỏ trống.

  5. Nếu đã giữ vị trí, RSI sẽ trở lại bằng phẳng khi vượt qua giới hạn.

  6. Bạn có thể đặt các tham số như độ dài RSI, giới hạn, giá tham chiếu.

  7. Bạn có thể thiết lập các tham số khác như kích thước thực thể, chu kỳ EMA, nhân chroot mở kho.

  8. Có thể đặt số gốc của RSI Goldfork/Deadfork.

Phân tích lợi thế

  1. Sử dụng tính năng đảo ngược của chỉ số RSI, có thể bắt được tín hiệu đảo ngược kịp thời.

  2. RMA thực hiện hình thức tăng tốc của RSI, làm cho sự đảo ngược trở nên nhạy cảm hơn.

  3. Kết hợp với bộ lọc thực thể K-line lớn, tránh bị đánh giá nhỏ.

  4. Dữ liệu phản hồi đầy đủ và đáng tin cậy.

  5. Các tham số có thể tùy chỉnh để thích ứng với các môi trường thị trường khác nhau.

  6. Các giao dịch có logic rõ ràng và đơn giản.

Phân tích rủi ro

  1. Chỉ số RSI có sai lệch đo lại, hiệu quả đĩa cứng vẫn chưa được xác minh.

  2. Các doanh nghiệp K-Line lớn không thể lọc trọn thị trường.

  3. Các tham số mặc định có thể không phù hợp với tất cả các giống và cần được tối ưu hóa.

  4. Có thể tỷ lệ chiến thắng không cao, cần phải chịu đựng áp lực tâm lý liên tục.

  5. Những người tham gia cuộc tấn công này đã bị bắt giữ trong một thời gian dài và không được đưa ra giải pháp nào.

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

  1. Tối ưu hóa các tham số RSI cho các chu kỳ và giống khác nhau.

  2. Tối ưu hóa chu kỳ EMA của thực thể K-line, kích thước của thực thể phẳng.

  3. Tối ưu hóa bội số thực tế của các vị trí mở, kiểm soát tần suất đầu vào.

  4. Tăng số lần dừng chân di động, đảm bảo tỷ lệ thắng.

  5. Thêm bộ lọc xu hướng để tránh giao dịch ngược.

  6. Tối ưu hóa chiến lược quản lý tài chính, kiểm soát rủi ro đơn lẻ.

Tóm tắt

Chiến lược này nói chung là một chiến lược đảo ngược rất đơn giản và trực tiếp. Nó sử dụng tính đảo ngược của chỉ số RSI và sức mạnh phá hoại của các thực thể K-line lớn để nhanh chóng tham gia vào thị trường. Mặc dù hiệu quả đo đạc tốt, hiệu quả thực tế vẫn còn phải được chứng minh, cần chú ý đến các tham số tối ưu hóa và kiểm soát rủi ro khi sử dụng. Nói chung, chiến lược này có giá trị rất cao và là một trong những chiến lược rất tốt có thể được áp dụng và tối ưu hóa liên tục trong thực tế.

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

//@version=3
strategy(title = "Noro's Fast RSI Strategy v1.2", shorttitle = "Fast RSI str 1.2", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 5)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
rsiperiod = input(7, defval = 7, minval = 2, maxval = 50, title = "RSI Period")
limit = input(30, defval = 30, minval = 1, maxval = 100, title = "RSI limit")
rsisrc = input(close, defval = close, title = "RSI Price")
rb = input(1, defval = 1, minval = 1, maxval = 5, title = "RSI Bars")
fromyear = input(2018, defval = 2018, 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")

//Fast RSI
fastup = rma(max(change(rsisrc), 0), rsiperiod)
fastdown = rma(-min(change(rsisrc), 0), rsiperiod)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
uplimit = 100 - limit
dnlimit = limit

//RSI Bars
ur = fastrsi > uplimit
dr = fastrsi < dnlimit
uprsi = rb == 1 and ur ? 1 : rb == 2 and ur and ur[1] ? 1 : rb == 3 and ur and ur[1] and ur[2] ? 1 : rb == 4 and ur and ur[1] and ur[2] and ur[3] ? 1 : rb == 5 and ur and ur[1] and ur[2] and ur[3] and ur[4] ? 1 : 0
dnrsi = rb == 1 and dr ? 1 : rb == 2 and dr and dr[1] ? 1 : rb == 3 and dr and dr[1] and dr[2] ? 1 : rb == 4 and dr and dr[1] and dr[2] and dr[3] ? 1 : rb == 5 and dr and dr[1] and dr[2] and dr[3] and dr[4] ? 1 : 0

//Body
body = abs(close - open)
emabody = ema(body, 30)

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up = bar == -1 and (strategy.position_size == 0 or close < strategy.position_avg_price) and dnrsi and body > emabody / 4
dn = bar == 1 and (strategy.position_size == 0 or close > strategy.position_avg_price) and uprsi and body > emabody / 4
exit = ((strategy.position_size > 0 and fastrsi > dnlimit and bar == 1) or (strategy.position_size < 0 and fastrsi < uplimit and bar == -1)) and body > emabody / 2

//Trading
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00)))
    
if time > timestamp(toyear, tomonth, today, 00, 00) or exit
    strategy.close_all()