Chiến lược này sử dụng chỉ số Brin để xác định hướng xu hướng giá, kết hợp với đường trung bình di chuyển nhanh để vào. Khi giá phá vỡ đường trung bình Brin và vượt qua đường trung bình di chuyển nhanh, hãy làm nhiều tín hiệu. Khi giá rơi xuống đường trung bình Brin và vượt qua đường trung bình di chuyển chậm làm trống.
Chiến lược này chủ yếu bao gồm các chỉ số Brin và các chỉ số trung bình di chuyển.
Chỉ số Brin BeltNó bao gồm các đường trung đạo, đường trên và đường dưới. Đường trung đạo là đường trung đạo đơn giản di chuyển n ngày. Đường trên và đường dưới tương ứng với đường trung đạo thấp hơn k lần. Khi giá gần đường trên, nó đại diện cho mua quá mức, và khi giá gần đường dưới, nó đại diện cho bán quá mức.
Chỉ số trung bình di chuyểnSử dụng trung bình di chuyển nhanh và trung bình di chuyển chậm. Các tham số trung bình di chuyển nhanh là 40, tham số trung bình di chuyển chậm là 120.
Theo quy tắc chỉ số trên, tín hiệu giao dịch cụ thể cho chiến lược này là:
Làm nhiều tín hiệu: Giá đóng cửa phá vỡ đường trung tâm của Brin và vượt qua đường trung bình di chuyển chậm trên đường trung bình di chuyển nhanh
Tín hiệu trống.: Giá đóng cửa đã rơi xuống đường trung tâm của vùng Brin và vượt qua đường trung bình di chuyển chậm dưới đường trung bình di chuyển nhanh
Phương pháp dừng lỗ: ATR dừng, điểm dừng là giá hiện tại trừ 4 lần giá trị ATR
Chiến lược này kết hợp với chỉ số BRI và chỉ số trung bình di chuyển để có thể xác định hiệu quả xu hướng của giá và tránh việc mở nhiều vị trí do tình hình bất ổn.
Đường trung tâm của Brin có thể phản ánh rõ ràng xu hướng giá và tạo ra tín hiệu xu hướng mạnh khi giá vượt qua đường trung tâm. Đường trên và dưới có thể xác định hiệu quả tình trạng quá mua quá bán, tránh theo đuổi giá cao và thấp trong tình trạng xung đột.
Đánh giá xu hướng thông thường cũng được sử dụng với các đường cong vàng của các đường trung bình di chuyển chậm. Kết hợp với chỉ số Brin, có thể đánh giá chính xác hơn thời gian nhập cảnh.
Phương pháp dừng lỗ ATR cho phép điểm dừng lỗ tự điều chỉnh theo biến động của thị trường, kiểm soát hiệu quả tổn thất đơn lẻ.
Rủi ro lớn nhất của chiến lược này là giá sẽ rút lui ngay sau khi phá vỡ đường trung đạo và không thể kiếm được lợi nhuận hiệu quả. Điều này sẽ gây ra tổn thất. Giải pháp là điều chỉnh các tham số trung bình di chuyển một cách thích hợp để các tham số chỉ số phù hợp hơn với các đặc điểm của thị trường.
Một rủi ro khác là trong tình huống biến động, các chỉ số Binance và Moving Average có thể phát ra tín hiệu sai. Trong trường hợp này, bạn nên cân nhắc việc bỏ qua tín hiệu giao dịch và chờ đợi một xu hướng rõ ràng hơn.
Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Điều chỉnh các tham số của chỉ số BRI để phù hợp với các đặc điểm của thị trường trong các chu kỳ khác nhau
Điều chỉnh tham số trung bình di chuyển chậm để chỉ số phù hợp hơn với các loại giao dịch cụ thể
Thêm các chỉ số hỗ trợ khác để kết hợp, tăng sự ổn định của chiến lược
Tối ưu hóa quản lý vị trí, tăng vị trí trong thời gian xu hướng, giảm vị trí trong thời gian chấn động
Kiểm tra các phương pháp giảm tổn thất khác nhau để tìm ra giải pháp tốt hơn
Chiến lược này nói chung là một chiến lược theo dõi xu hướng điển hình hơn. Nó kết hợp các chỉ số Bollinger Bands và Moving Averages để xác định xu hướng giá và cơ hội giao dịch.
/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Robrecht99
//@version=5
strategy("Trend Following with Bollinger Bands", overlay=true, margin_long=100, margin_short=100, pyramiding=4)
// Bollinger Bands //
length = input.int(20, minval=1, group="Bollinger Bands Inputs")
src = input(close, title="Source", group="Bollinger Bands Inputs")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500, group="Bollinger Bands Inputs")
plot(basis, "Basis", color=color.orange, offset = offset)
p1 = plot(upper, "Upper", color=color.orange, offset = offset)
p2 = plot(lower, "Lower", color=color.orange, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(255, 0, 255, 95))
// Moving Averages //
len1 = input.int(40, minval=1, title="Length Fast MA", group="Moving Average Inputs")
len2 = input.int(120, minval=1, title="Length Slow MA", group="Moving Average Inputs")
src1 = input(close, title="Source Fast MA")
src2 = input(close, title="Source Slow MA")
maColorFast = input.color(color.new(color.red, 0), title = "Color Fast MA", group = "Moving Average Inputs", inline = "maFast")
maColorSlow = input.color(color.new(color.purple, 0), title = "Color Slow MA", group = "Moving Average Inputs", inline = "maSlow")
fast = ta.ema(src1, len1)
slow = ta.ema(src2, len2)
plot(fast, color=maColorFast, title="Fast EMA")
plot(slow, color=maColorSlow, title="Slow EMA")
// ATR Inputs //
strategy.initial_capital = 50000
lengthATR = input.int(title="ATR Period", defval=14, minval=1, group="ATR Input")
risk = input(title="Risk Per Trade", defval=0.01, group="ATR Input")
multiplier = input(title="ATR Multiplier", defval=2, group="ATR Inputs")
atr = ta.atr(length)
amount = (risk * strategy.initial_capital / (2 * atr))
// Buy and Sell Conditions //
entrycondition1 = ta.crossover(fast, slow)
entrycondition2 = fast > slow
sellcondition1 = ta.crossunder(fast, slow)
sellcondition2 = slow > fast
// Buy and Sell Signals //
if (close > basis and entrycondition2)
strategy.entry("long", strategy.long, qty=amount)
stoploss = close - atr * 4
strategy.exit("exit sl", stop=stoploss, trail_offset=stoploss)
if (sellcondition1 and sellcondition2)
strategy.close(id="long")
if (close < basis and sellcondition2)
strategy.entry("short", strategy.short, qty=amount)
stoploss = close + atr * 4
strategy.exit("exit sl", stop=stoploss, trail_offset=stoploss)
if (entrycondition1 and entrycondition2)
strategy.close(id="short")