Chiến lược đảo ngược

Tác giả:ChaoZhang, Ngày: 2023-10-27 16:14:16
Tags:

img

Tổng quan

Chiến lược phá vỡ đảo ngược sử dụng Bollinger Bands và Stochastic Oscillator để xác định các điểm đảo ngược tiềm năng khi một tài sản bị mua quá nhiều hoặc bán quá nhiều. Nó phù hợp cho các nhà giao dịch trong ngày để tận dụng những biến động giá nhỏ để kiếm lợi nhuận. Ý tưởng chính là tìm kiếm các cơ hội giao dịch khi giá vượt qua Bollinger Bands và Stochastic hiển thị các tín hiệu mua quá nhiều / bán quá nhiều.

Chiến lược logic

Chiến lược này sử dụng cả Bollinger Bands và Stochastic như các chỉ số kỹ thuật chính. Bollinger Bands được vẽ ở mức độ lệch chuẩn trên và dưới một đường trung bình di chuyển đơn giản. Giá đạt đến dải trên được coi là mua quá mức trong khi dải dưới được bán quá mức.

Các quy tắc giao dịch là: đi dài khi giá phá vỡ dưới dải Bollinger dưới cùng và Stochastic dưới 20; đi ngắn khi giá phá vỡ trên dải trên và Stochastic trên 80.

Các crossover xác định các bước đột phá dải. Các dấu hình dạng vẽ các tín hiệu nhập cảnh. Các điểm dừng và mục tiêu lợi nhuận được xác định sau khi nhập cảnh.

Ưu điểm

Kết hợp các dải cho hỗ trợ / kháng cự và Stochastic cho quá mua / quá bán cải thiện chất lượng tín hiệu so với một chỉ số duy nhất.

Đánh giá stop loss chặt chẽ giúp hạn chế lỗ. Lợi nhuận dựa trên phạm vi thực sự trung bình nhằm mục đích cân bằng phần thưởng / rủi ro. Giao dịch tần suất cao nắm bắt các động thái nhỏ.

Rủi ro

Các bước đột phá trong dải giả định sự đảo ngược trung bình có thể thất bại.

Các điểm dừng nhỏ hạn chế tiềm năng lợi nhuận, giao dịch thường xuyên cần một tâm lý mạnh mẽ - tránh quá dừng.

Những cải tiến

Kiểm tra thời gian Bollinger dài hơn hoặc xác nhận đóng bên ngoài các dải để cải thiện chất lượng.

Kết hợp các chỉ số khác như MACD và KD với Stochastic để có tín hiệu mua quá mức / bán quá mức tốt hơn.

Xem xét các điểm dừng động dựa trên biến động thay vì các điểm cố định.

Kết luận

Chiến lược này tìm cách xác định sự đảo ngược bằng cách kết hợp Bollinger Bands cho hỗ trợ / kháng cự và Stochastic cho các điều kiện mua quá mức / bán quá mức. Các thông số điều chỉnh tốt, kiểm soát rủi ro và tối ưu hóa liên tục là chìa khóa cho hiệu suất trong thế giới thực. Chi phí giao dịch nên được xem xét. Hiệu suất trong quá khứ không đảm bảo kết quả trong tương lai.


/*backtest
start: 2022-10-20 00:00:00
end: 2023-10-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Bollinger Bands & Stochastic Scalping Strategy", shorttitle="BB & Stoch Scalp", overlay=true)

// Bollinger Bands
length = input(20, title="Bollinger Bands Length")
src = input(close, title="Source")
mult = input(2, title="Multiplier")
basis = sma(src, length)
dev = mult * stdev(src, length)
upperBB = basis + dev
lowerBB = basis - dev

// Stochastic
stochLength = input(14, title="Stochastic Length")
smoothK = input(5, title="Stochastic %K Smoothing")
smoothD = input(3, title="Stochastic %D Smoothing")
k = sma(stoch(close, high, low, stochLength), smoothK)
d = sma(k, smoothD)

// Entry Conditions
longCondition = crossover(close, lowerBB) and crossover(k, 20)
shortCondition = crossunder(close, upperBB) and crossunder(k, 80)

// Exit Conditions
takeProfit = input(50, title="Take Profit (pips)")

plotshape(series=longCondition, title="Long Entry Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=shortCondition, title="Short Entry Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Stop Loss
stopLossPips = input(3, title="Stop Loss (pips)")
stopLossLong = close - stopLossPips * syminfo.mintick
stopLossShort = close + stopLossPips * syminfo.mintick

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

strategy.exit("Take Profit/Stop Loss", from_entry="Long", profit=takeProfit, stop=stopLossLong)
strategy.exit("Take Profit/Stop Loss", from_entry="Short", profit=takeProfit, stop=stopLossShort)

plot(upperBB, title="Upper Bollinger Band", color=color.red)
plot(lowerBB, title="Lower Bollinger Band", color=color.green)

hline(80, "Overbought", color=color.red)
hline(20, "Oversold", color=color.green)


Thêm nữa