Chiến lược này dựa trên thiết kế chỉ số Boll band, khi giá phá vỡ Boll band và đi xuống đường, thực hiện hành động làm nhiều hoặc làm ngắn tương ứng. Chiến lược này kiếm lợi nhuận bằng cách nắm bắt các hành động phá vỡ.
Cụ thể, chiến lược này tính toán đường SMA trung bình với chiều dài là chiều dài, và đường SMA trên đường phân biệt chuẩn gấp nhiều lần. Khi giá đóng cửa phá vỡ đường đi xuống từ dưới lên, hãy nhập nhiều; Khi giá đóng cửa phá vỡ đường đi lên từ trên xuống, hãy vào lỗ. Đồng thời thiết lập khu vực giao dịch giới hạn thời gian.
Chiến lược này cố gắng nắm bắt tình trạng mở rộng sau khi giá phá vỡ đường đi lên xuống. Khi phá vỡ đường đi xuống, nhiều bên sẽ tăng cường sức mạnh, khi phá vỡ đường đi lên, các bên sẽ tăng cường sức mạnh, khi giao dịch thuận lợi.
Có thể giảm rủi ro bằng cách tối ưu hóa điều kiện nhập cảnh, thêm chiến lược dừng lỗ, và giới thiệu bộ lọc xu hướng.
Chiến lược này là chiến lược đột phá dựa trên Boll band, thu lợi nhuận bằng cách nắm bắt các hoạt động đột phá. Ưu điểm là ý tưởng đơn giản, dễ thực hiện; Nhược điểm là dễ bị lừa dối bởi các hoạt động biến động. Có thể tăng hiệu quả chiến lược và kiểm soát rủi ro bằng cách tối ưu hóa tham số, chiến lược dừng lỗ, kiểm soát thời gian giao dịch.
/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//Noro
//2018
//@version=2
strategy("Noro's Bollinger Strategy v1.0", shorttitle = "Bollinger str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 5)
//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
length = input(20, minval=1)
mult = input(1.0, minval=0.001, maxval=50)
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
source = close
basis = sma(source, length)
dev = mult * stdev(source, length)
upper = basis + dev
lower = basis - dev
up = close < lower
dn = close > upper
exit = (strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)
if up
strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
if dn
strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, 01, 00, 00) and time < timestamp(toyear, tomonth, 31, 00, 00)))
if time > timestamp(toyear, tomonth, 31, 00, 00) or exit
strategy.close_all()