
Chiến lược này cho phép theo dõi xu hướng kép của các cổ phiếu bằng cách tính toán các điểm Pivot cổ điển và sử dụng chỉ số RSI để xác định hướng xu hướng hiện tại.
Chiến lược này thực hiện theo dõi xu hướng kép thông qua các bước sau:
Tính toán các điểm Pivot cổ điển, bao gồm điểm trung tâm (Pivot), hỗ trợ (S1), kháng cự (R1), hỗ trợ (S2), kháng cự (R2), v.v.
Sử dụng chỉ số RSI để đánh giá xu hướng của cổ phiếu. RSI cao hơn 80 là vùng mua quá mức, thấp hơn 20 là vùng bán quá mức.
Xác định hướng xu hướng của mức đường cong của cổ phiếu. Nếu giá đóng cửa lớn hơn R2 ngày trước, thì được coi là mạnh; Nếu giá đóng cửa nhỏ hơn S2 ngày trước, thì được coi là yếu.
Xác định chiến lược giao dịch trong ngày dựa trên hướng xu hướng của mức đường nét, kết hợp với điểm Pivot và chỉ số RSI.
Nếu đường hằng ngày là mạnh mẽ ((giá tròn> R2), hãy quan sát điểm mua điều chỉnh xuống dưới điểm Pivot, hoặc mua dưới S1.
Nếu đường hằng ngày là yếu ((giá đóng cửa
Thiết lập điểm dừng. S1 mạnh dừng lại trước ngày, R1 yếu dừng lại trước ngày.
Chiến lược này được sử dụng để xác định xu hướng ngắn hạn và điểm nhập cụ thể bằng cách tính toán hướng xu hướng đường dài trung bình bằng cách tính toán điểm Pivot, kết hợp với các chỉ số như RSI, để theo dõi xu hướng kép của giá cổ phiếu và áp dụng cho giao dịch đường ngắn trung bình.
Những lợi thế chính của chiến lược này là:
Có khả năng theo dõi cả xu hướng trung hạn và ngắn hạn, và thích nghi với sự thay đổi của thị trường.
Các điểm Pivot có khả năng đánh giá xu hướng, có thể đánh giá một cách hiệu quả xu hướng đường dài.
Các chỉ số như RSI có thể đánh giá tình trạng quá mua và quá bán trong thời gian ngắn, hỗ trợ xác định điểm vào cụ thể.
Các quy tắc hoạt động của chiến lược rất rõ ràng, đơn giản và dễ nắm bắt.
Các nhà đầu tư đã có một số kế hoạch để kiểm soát rủi ro và có điểm dừng rõ ràng.
Những rủi ro chính của chiến lược này là:
Điểm Pivot có thể bị lỗi, không thể xác định chính xác xu hướng đường dài trung bình. Có thể cải thiện bằng cách điều chỉnh tham số hoặc kết hợp các chỉ số khác.
Các chỉ số như RSI có thể phát ra tín hiệu sai. Các tham số có thể được điều chỉnh thích hợp hoặc được sử dụng với các chỉ số khác.
Cài đặt điểm dừng có thể quá độc đoán và không thể hoàn toàn tránh được nguy cơ bị phá vỡ. Một số vùng đệm có thể được lưu lại thích hợp.
Chiến lược rút lui có thể lớn hơn, cần sự chuẩn bị tâm lý và hỗ trợ tài chính đầy đủ.
Có nguy cơ giao dịch quá thường xuyên. Bạn có thể điều chỉnh điều kiện mở vị trí thích hợp để tránh giao dịch quá thường xuyên.
Chiến lược này có thể được tối ưu hóa bằng cách:
Thử các tổ hợp tham số khác nhau, chẳng hạn như điều chỉnh các tham số của RSI, tối ưu hóa các phương pháp tính toán điểm Pivot, và tìm kiếm các tổ hợp tham số tốt nhất.
Thêm hoặc kết hợp các chỉ số khác như KDJ, MACD, v.v. để tín hiệu chính xác hơn và đáng tin cậy hơn.
Tối ưu hóa các chiến lược dừng lỗ, chẳng hạn như dừng di chuyển, dừng ngoài sân, để giảm nguy cơ bị phá vỡ.
Tối ưu hóa quản lý vị trí, kiểm soát đúng quy mô vị trí đơn lẻ, giảm tác động của tổn thất đơn lẻ.
Tối ưu hóa điều kiện mở vị trí, tránh quá nhiều lần ra vào. Bạn có thể thiết lập điều kiện lọc, v.v.
Kiểm tra hiệu quả của các giống khác nhau, điều chỉnh các tham số để đạt được hiệu quả tối ưu.
Thêm chiến lược tự động dừng để khóa lợi nhuận.
Chiến lược này bằng cách tính toán các điểm Pivot để xác định xu hướng đường dài trung bình, và sử dụng các chỉ số như RSI để xác định xu hướng ngắn hạn và điểm vào cụ thể, để theo dõi xu hướng giá cổ phiếu đôi, logic hoạt động tổng thể rõ ràng và hợp lý, hiệu quả giao dịch đường ngắn trung bình tốt hơn. Tuy nhiên, có một số rủi ro tín hiệu sai trên xác suất, cần phải tối ưu hóa thêm các tham số, kiểm soát chặt chẽ để giảm rủi ro, đồng thời hạn chế kích thước vị trí thích hợp để kiểm soát khả năng có thể có sự rút lui lớn hơn. Nếu có thể tối ưu hóa và hoàn thiện chiến lược này, sẽ có thể thu được lợi nhuận đầu tư ổn định.
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
strategy(title="swing trade", shorttitle="vinay_swing", overlay=true)
pf = input(false,title="Show Filtered Pivots")
sd = input(true, title="Show Daily Pivots?")
//moving average
len = input(50, minval=1, title="Length")
src = input(close, title="Source")
out = ema(src, len)
//RSI INPUT
length = input( 7 )
overSold = input( 20 )
overBought = input( 80 )
price = close
vrsi = rsi(price, length)
// Classic Pivot
pivot = (high + low + close ) / 3.0
// Filter Cr
bull= pivot > (pivot + pivot[1]) / 2 + .0025
bear= pivot < (pivot + pivot[1]) / 2 - .0025
// Classic Pivots
r1 = pf and bear ? pivot + (pivot - low) : pf and bull ? pivot + (high - low) : pivot + (pivot - low)
s1 = pf and bull ? pivot - (high - pivot) : pf and bear ? pivot - (high - low) : pivot - (high - pivot)
r2 = pf ? na : pivot + (high - low)
s2 = pf ? na : pivot - (high - low)
BC = (high + low) / 2.0
TC = (pivot - BC) + pivot
//Pivot Average Calculation
smaP = sma(pivot, 3)
//Daily Pivots
dtime_pivot = request.security(syminfo.tickerid, 'D', pivot[1])
dtime_pivotAvg = request.security(syminfo.tickerid, 'D', smaP[1])
dtime_r1 = request.security(syminfo.tickerid, 'D', r1[1])
dtime_s1 = request.security(syminfo.tickerid, 'D', s1[1])
dtime_r2 = request.security(syminfo.tickerid, 'D', r2[1])
dtime_s2 = request.security(syminfo.tickerid, 'D', s2[1])
dtime_BC = request.security(syminfo.tickerid, 'D', BC[1])
dtime_TC = request.security(syminfo.tickerid, 'D', TC[1])
offs_daily = 0
plot(sd and dtime_pivot ? dtime_pivot : na, title="Daily Pivot",style=circles, color=fuchsia,linewidth=1)
plot(sd and dtime_r1 ? dtime_r1 : na, title="Daily R1",style=circles, color=#DC143C,linewidth=1)
plot(sd and dtime_s1 ? dtime_s1 : na, title="Daily S1",style=circles, color=lime,linewidth=1)
plot(sd and dtime_r2 ? dtime_r2 : na, title="Daily R2",style=circles, color=maroon,linewidth=1)
plot(sd and dtime_s2 ? dtime_s2 : na, title="Daily S2",style=circles, color=#228B22,linewidth=1)
plot(sd and dtime_BC ? dtime_BC : na, title="Daily BC",style=circles, color=black,linewidth=1)
plot(sd and dtime_TC ? dtime_TC : na, title="Daily TC",style=circles, color=black,linewidth=1)
bull1= (close > dtime_r2)
bull2= (low < dtime_pivot) or (low < dtime_s1)
bull3= dtime_pivot > dtime_pivot[1]
bullishenglufing=bull2 and bull3
bullishenglufing1=bull1 and (close > out) and (crossover(vrsi, overBought))
longCondition = bull1[1] and ((low < dtime_TC) or (low < dtime_BC) or (low < dtime_s1))
bear1= (close < dtime_s2)
bear2= (high > dtime_pivot) or (high < dtime_r1)
bear3= dtime_pivot < dtime_pivot[1]
bearishenglufing=bear2 and bear3
bearishenglufing1=bear1 and (close < out) and (crossunder(vrsi, overSold))
shortCondition = bear1[1] and ((high > dtime_BC) or (high > dtime_TC) or (high > dtime_r1))
plotshape(bullishenglufing, style = shape.triangleup, location = location.belowbar, color = green, size = size.tiny)
plotshape(bearishenglufing, style = shape.triangledown, location = location.abovebar, color = red, size = size.tiny)
if (longCondition)
strategy.entry("My Long Entry Id", strategy.long)
if (shortCondition)
strategy.entry("My Short Entry Id", strategy.short)