Chiến lược đột phá định vị dao động với nhiều chỉ số

Tác giả:ChaoZhang, Ngày: 2023-12-01 17:49:34
Tags:

img

Tổng quan

Chiến lược này kết hợp nhiều chỉ số bao gồm STOCH.RSI, RSI, Chiến lược kép, Chỉ số CM Williams và Chỉ số dòng tiền (MFI) để xác định chính xác biến động thị trường và tìm kiếm cơ hội mua bán dài / ngắn. Nó có thể tạo ra tín hiệu giao dịch khi giá cổ phiếu tiếp cận mức hỗ trợ hoặc kháng cự. Bằng cách tích hợp các lợi thế của nhiều chỉ số và xác thực chéo, chiến lược này có thể giảm hiệu quả các tín hiệu sai và tăng độ tin cậy.

Chiến lược logic

  1. STOCH.RSI kết hợp điểm mạnh của Stochastic Oscillator và Chỉ số sức mạnh tương đối (RSI), hiển thị mức mua quá mức / bán quá mức để phát hiện cơ hội đảo ngược.

  2. RSI đánh giá các điều kiện mua quá mức / bán quá mức như một xác nhận phụ trợ.

  3. Chiến lược kép xác định các giao thoa giữa Stoch và RSI để tạo ra các tín hiệu giao dịch.

  4. CM Williams Indicator tính toán các dải phần trăm. Nhảy ra các dải đại diện cho sự đảo ngược thị trường, hỗ trợ đánh giá biến động và đảo ngược.

  5. Chỉ số dòng tiền (MFI) đánh giá dòng tiền, xác nhận tín hiệu cùng với Stoch.RSI và RSI để cải thiện chất lượng.

Tóm lại, bằng cách kết hợp Stoch.RSI, RSI, Chiến lược kép, CM Williams và MFI, chiến lược này có thể xác định hiệu quả mức mua quá mức / bán quá mức, xác định điểm đảo ngược và tạo ra các tín hiệu chất lượng.

Phân tích lợi thế

Những lợi thế chính của chiến lược này bao gồm:

  1. Kết hợp nhiều chỉ số cải thiện chất lượng tín hiệu bằng cách xác nhận và giảm tín hiệu sai.

  2. STOCH.RSI, RSI và MFI có hiệu quả phát hiện các khu vực mua quá mức / bán quá mức và các điểm chuyển hướng thị trường.

  3. CM Williams tính toán các dải phần trăm để giúp đánh giá biến động và đảo ngược thị trường.

  4. Chiến lược song phương tạo ra các tín hiệu giao dịch đơn giản dễ dàng theo dõi.

  5. Rất tùy chỉnh với một loạt các thông số tối ưu hóa thích nghi với các thị trường khác nhau.

Phân tích rủi ro

Một số rủi ro cần lưu ý:

  1. Các tính toán đa chỉ số phức tạp đòi hỏi sức mạnh tính toán cao, không phù hợp với giao dịch tần số cao.

  2. Phương pháp điều chỉnh không đúng có thể làm suy giảm chất lượng tín hiệu.

  3. Các tín hiệu đảo ngược có thể bị chậm trễ.

  4. Tần suất giao dịch cao có thể dẫn đến việc sử dụng vốn kém.

Giải pháp:

  1. Sử dụng các thiết bị đầu cuối mạnh mẽ và tối ưu hóa các thông số.

  2. Kiểm tra kỹ lưỡng để tìm các thông số cá nhân tối ưu.

  3. Thêm thêm các chỉ số để xác định xu hướng trước.

  4. Tối ưu hóa các cơ chế kiểm soát rủi ro như dừng lỗ để hạn chế lỗ cho mỗi giao dịch.

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

Chiến lược này có thể được cải thiện trong các khía cạnh sau:

  1. Tối ưu hóa các thông số chỉ số để tìm ra sự kết hợp tối ưu.

  2. Thêm các chỉ số như khối lượng và yếu tố lợi nhuận để tăng cường lựa chọn cổ phiếu.

  3. Bao gồm nhiều đường xu hướng, Bollinger Bands vv để dự báo mức hỗ trợ / kháng cự.

  4. Thêm stop loss, lọc vào thị trường để kiểm soát rủi ro.

  5. Các thông số khác nhau cho các sản phẩm và khung thời gian khác nhau dựa trên các đặc điểm.

Kết luận

Chiến lược này xác định sự đảo ngược thị trường bằng cách kết hợp chính xác nhiều chỉ số bao gồm STOCH.RSI, RSI, Chiến lược kép, CM Williams và MFI. Xác thực chéo cải thiện chất lượng tín hiệu và giảm tín hiệu sai. Các cải tiến hơn nữa như tối ưu hóa tham số và các bộ lọc bổ sung có thể làm cho nó trở thành một hệ thống giao dịch ổn định, thực tế.


/*backtest
start: 2023-10-31 00:00:00
end: 2023-11-30 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/


     //////////////////////////////////////////////////////////////////////////
    ////  STOCHASTIC_RSI+RSI+DOUBLE_STRATEGY+CM_WILLIAMS_VIX_FIX+MFI  ////////
   //////////////////////////////////////////////////////////////////////////


//  This is a simple combination of integrated and published scripts, useful 
//  if you don't have a PRO account and want to bypass the 3 indicators limit. 
//  It includes:
//  1) Stoch.RSI
//  2) Relative strenght index (RSI)
//  3) Stochastic + RSI, Double Strategy (by ChartArt)
//  4) CM_Williams_Vix_Fix Finds Market Bottoms (by ChrisMoody)
//  5) Monetary Flow Index (MFI)
//  For more details about 3) and 4) check the original scripts.


//@version=3
// @author GianlucaBezziccheri

strategy(title="Stoch.RSI+RSI+DoubleStrategy+CMWilliamsVixFix+MFI", shorttitle="Stoch.RSI+RSI+DoubleStrategy+CMWilliamsVixFix+MFI")


///STOCH.RSI///
smoothK = input(3, minval=1, title="Stochastic %K Smoothing")
smoothD = input(3, minval=1, title="Stochastic %K Moving Average")
lengthRSI = input(14, minval=1, title="RSI Lenght")
lengthStoch = input(14, minval=1, title="Stochastic Lenght")
RSIprice = close
rsi1 = rsi(RSIprice, lengthRSI)
k = sma(stoch(rsi1, rsi1, rsi1, lengthStoch), smoothK)
d = sma(k, smoothD)
plot(k, color=blue, linewidth=2)
plot(d, color=silver, linewidth=2)
h0 = hline(80)
h1 = hline(20)
fill(h0, h1, color=purple, transp=78)


///RSI///
up = rma(max(change(RSIprice), 0), lengthRSI)
down = rma(-min(change(RSIprice), 0), lengthRSI)
rsi2 = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi2, color=fuchsia, linewidth=2)
band0 = hline(70)
band1 = hline(30)
fill(band0, band1, color=purple, transp=100)


///OVERBOUGHT-OVERSOLD STRATEGY///
StochOverBought = input(80, title="Stochastic RSI overbought")
StochOverSold = input(20, title="Stochastic RSI oversold")
ks = sma(stoch(close, high, low, lengthStoch), smoothK)
ds = sma(k, smoothD)
RSIOverBought = input( 70  , title="RSI overbought")
RSIOverSold = input( 30  , title="RSI oversold")
vrsi = rsi(RSIprice, lengthRSI)
if (not na(ks) and not na(ds))
    if (crossover(ks,ds) and k < StochOverSold)
        if (not na(vrsi)) and (crossover(vrsi, RSIOverSold))
            strategy.entry("LONG", strategy.long, comment="LONG")
if (crossunder(ks,ds) and ks > StochOverBought)
    if (crossunder(vrsi, RSIOverBought))
        strategy.entry("SHORT", strategy.short, comment="SHORT")
 
 
///CM WILLIAMS VIX FIX///
pd = input(22, title="LookBack Period Standard Deviation High")
bbl = input(20, title="Bollinger Band Length")
mult = input(2.0    , minval=1, maxval=5, title="Bollinger Band Standard Devaition Up")
lb = input(50  , title="Look Back Period Percentile High")
ph = input(.85, title="Highest Percentile - 0.90=90%, 0.95=95%, 0.99=99%")
pl = input(1.01, title="Lowest Percentile - 1.10=90%, 1.05=95%, 1.01=99%")
hp = input(false, title="Show High Range (Based on Percentile and LookBack Period)?")
sd = input(false, title="Show Standard Deviation Line?")
wvf = ((highest(close, pd)-low)/(highest(close, pd)))*100
sDev = mult * stdev(wvf, bbl)
midLine = sma(wvf, bbl)
lowerBand = midLine - sDev
upperBand = midLine + sDev
rangeHigh = (highest(wvf, lb)) * ph
rangeLow = (lowest(wvf, lb)) * pl
col = wvf >= upperBand or wvf >= rangeHigh ? lime : gray
plot(hp and rangeHigh ? rangeHigh : na, title="Range High Percentile", style=line, linewidth=4, color=orange)
plot(hp and rangeLow ? rangeLow : na, title="Range High Percentile", style=line, linewidth=4, color=orange)
plot(wvf, title="Williams Vix Fix", style=columns, linewidth = 4, color=col, transp=85)
plot(sd and upperBand ? upperBand : na, title="Upper Band", style=line, linewidth = 3, color=aqua)


///MONETARY FLOW INDEX
length4 = input(title="MFI Length", defval=14, minval=1, maxval=2000)
src4 = hlc3
upper4 = sum(volume * (change(src4) <= 0 ? 0 : src4), length4)
lower4 = sum(volume * (change(src4) >= 0 ? 0 : src4), length4)
mf4 = rsi(upper4, lower4)
plot(mf4, color=yellow, style=line, linewidth=2, title="Monetary Flow Index")
overbought=hline(70, title="MFI Overbought", color=yellow)
oversold=hline(30, title="MFI Oversold", color=yellow)
fill(overbought, oversold, color=#9915ff, transp=100)

Thêm nữa