Breakout Scalper - Nhận được sự thay đổi xu hướng nhanh chóng

Tác giả:ChaoZhang, Ngày: 2023-10-25 17:58:11
Tags:

img

Tổng quan

Chiến lược Breakout Scalper là một chiến lược giao dịch breakout sử dụng các đường trung bình di chuyển nhanh và chậm để xác định sự thay đổi xu hướng. Nó thiết lập các điểm dừng vào và các điểm dừng ra để quản lý rủi ro. Chiến lược này đóng các vị trí theo cách thủ công khi thị trường đi sang một bên. Nó phù hợp cho các công cụ biến động để tận dụng những thay đổi xu hướng nhanh.

Chiến lược logic

Chiến lược sử dụng cửa sổ nhanh và cửa sổ chậm. Thời gian mặc định lần lượt là 13 và 52. Cửa sổ nhanh nắm bắt xu hướng ngắn hạn trong khi cửa sổ chậm xác định hướng thị trường tổng thể. Giá trung bình của hai cửa sổ được vẽ ra. Khi giá trung bình nhanh vượt qua giá trung bình chậm, xu hướng tăng có thể hình thành. Khi giá trung bình nhanh vượt qua dưới giá chậm, xu hướng giảm có thể bắt đầu.

Khi giá trung bình nhanh nằm trên giá trung bình chậm, và giá ngay lập tức cũng nằm trên giá trung bình nhanh, một tín hiệu mua được tạo ra. Điểm dừng đầu vào được đặt ở mức giá cao nhất của cửa sổ chậm. Khi giá trung bình nhanh nằm dưới giá trung bình chậm, và giá ngay lập tức nằm dưới giá trung bình nhanh, một tín hiệu bán được kích hoạt, với điểm dừng đầu vào ở mức giá thấp nhất của cửa sổ chậm.

Ngoài ra, các điểm dừng thoát được xác định để kiểm soát rủi ro. Điểm dừng thoát dài là mức tối đa của giá thấp nhất của cửa sổ nhanh và chậm. Điểm dừng thoát ngắn là mức tối thiểu của giá cao nhất của cửa sổ nhanh và chậm. Điều này đảm bảo các điểm dừng được đặt bên ngoài hướng xu hướng hiện tại để giảm rủi ro.

Các vị trí được đóng khi các điều kiện nhập cảnh không còn hợp lệ, tránh mất mát không cần thiết trong các thị trường bên cạnh.

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. Nhanh chóng phát hiện các thay đổi xu hướng phù hợp với các tài sản biến động.

  2. Quản lý rủi ro hiệu quả thông qua dừng hợp lý.

  3. Logic đơn giản và rõ ràng dựa trên đường chéo và dừng trung bình di chuyển.

  4. Dễ dàng tối ưu hóa và mở rộng. Các tham số có thể được điều chỉnh và thêm các chỉ số.

Phân tích rủi ro

Những rủi ro chính là:

  1. Cửa sổ nhanh có xu hướng ồn. tiếng ồn thị trường có thể tạo ra tín hiệu không chính xác.

  2. Tiếp tục chậm cửa sổ. Điểm chuyển hướng có thể được phát hiện muộn.

  3. Dừng quá gần thị trường. Dừng dựa trực tiếp trên giá cửa sổ có thể quá chặt chẽ.

  4. Thị trường bên cạnh dẫn đến đòn giày, thị trường hỗn loạn tạo ra tín hiệu sai.

Hạn chế:

  1. Tối ưu hóa cửa sổ nhanh và thêm bộ lọc.

  2. Cải thiện cửa sổ chậm và thêm các chỉ số xác nhận.

  3. Buffer dừng lại từ giá thị trường.

  4. Chăm sóc bên và tránh tín hiệu.

Cơ hội tối ưu hóa

Chiến lược có thể được cải thiện trong một số khía cạnh:

  1. Tối ưu hóa thời gian cửa sổ cho các tài sản khác nhau.

  2. Thêm kích thước vị trí để kiểm soát rủi ro tốt hơn.

  3. Thực hiện các cơ chế lấy lợi nhuận.

  4. Thêm thêm bộ lọc để tạo ra tín hiệu mạnh mẽ.

  5. Kết hợp phát hiện mô hình như tam giác và phân kỳ.

  6. Sử dụng máy học để tối ưu hóa các thông số.

Kết luận

Breakout Scalper nhằm mục đích bắt những thay đổi xu hướng một cách nhanh chóng dựa trên các đường chéo trung bình di chuyển nhanh và chậm. Nó phù hợp với các thị trường biến động như vàng. Các điểm dừng cung cấp quản lý rủi ro. Lý luận đơn giản làm cho nó dễ hiểu và tối ưu hóa. Những rủi ro và cải tiến được xác định cung cấp các cách để cải thiện chiến lược hơn nữa. Nhìn chung, đây là một hệ thống giao dịch xu hướng hiệu quả có thể được tinh chỉnh thành một cách tiếp cận mạnh mẽ.


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

//@version=2
strategy("Breakout Scalper", overlay=true)

fast_window = input(title="Fast Window",  defval=13, minval=1)
slow_window = input(title="Slow Window",  defval=52, minval=1)
instant_period = input(title="Instant Period",  defval=3, minval=1)

fast_low = lowest(fast_window)
fast_high = highest(fast_window)
fast_mid = (fast_low + fast_high) / 2

slow_low = lowest(slow_window)
slow_high = highest(slow_window)
slow_mid = (slow_low + slow_high) / 2

instant_price = ema(close, instant_period)

plot(instant_price, title="Instant Price", color=black, transp=50)
fp = plot(fast_mid, title="Fast Mid", color=green)
sp = plot(slow_mid, title="Slow Mid", color=red)
fill(fp, sp, color=(fast_mid > slow_mid ? green : red))

is_buy_mode = (instant_price > fast_mid) and (fast_mid > slow_mid)
is_sell_mode = (instant_price < fast_mid) and (fast_mid < slow_mid)
entry_color = is_buy_mode ? green : (is_sell_mode ? red : na)
exit_color = is_buy_mode ? red : (is_sell_mode ? green : na)

entry_buy_stop = slow_high
entry_sell_stop = slow_low
exit_buy_stop = max(fast_low, slow_low)
exit_sell_stop = min(fast_high, slow_high)
strategy.entry("long", strategy.long, stop=entry_buy_stop, when=is_buy_mode)
strategy.exit("stop", "long", stop=exit_buy_stop)
strategy.entry("short", strategy.short, stop=entry_sell_stop, when=is_sell_mode)
strategy.exit("stop", "short", stop=exit_sell_stop)
strategy.close("long", when=(not is_buy_mode))
strategy.close("short", when=(not is_sell_mode))

entry_buy_stop_color = (strategy.position_size == 0) ? (is_buy_mode ? green : na) : na
plotshape(entry_buy_stop, location=location.absolute, color=entry_buy_stop_color, style=shape.circle)
entry_sell_stop_color = (strategy.position_size == 0) ? (is_sell_mode ? red : na) : na
plotshape(entry_sell_stop, location=location.absolute, color=entry_sell_stop_color, style=shape.circle)
exit_buy_stop_color = (strategy.position_size > 0) ? red : na
plotshape(exit_buy_stop, location=location.absolute, color=exit_buy_stop_color, style=shape.xcross)
exit_sell_stop_color = (strategy.position_size < 0) ? green : na
plotshape(exit_sell_stop, location=location.absolute, color=exit_sell_stop_color, style=shape.xcross)


Thêm nữa