
Chiến lược này là một chiến lược đột phá sử dụng chỉ số ATR để xây dựng tín hiệu giao dịch. Chiến lược này sử dụng hệ thống đường thẳng để tạo ra tín hiệu giao dịch, xây dựng vị trí trống trên và dưới chỉ số ATR bằng cách phân chia vàng. Có thể kiếm được lợi nhuận lớn trong xu hướng và thu được thu nhập ổn định nhỏ trong tình huống biến động.
Trong mã thông qua tìm kiếm các chỉ số chu kỳ ATR của giá đóng cửa, và mở rộng 1,618 lần như đường ray lên, mở rộng 2,618 lần như đường ray xuống, kết hợp với đường thẳng ema để xây dựng một hệ thống giao dịch phá vỡ đường Boolean. Khi giá phá vỡ từ đường ray dưới lên, giá làm trống từ đường ray lên xuống, để có được lợi nhuận theo dõi xu hướng.
Chiến lược này sử dụng tổng hợp lọc đồng nhất, theo dõi kênh ATR và nguyên tắc phân chia vàng. Nó có thể theo dõi hiệu quả xu hướng đường dài trung bình, có tính ổn định tốt. Nó có thể thích nghi với các ứng dụng khác nhau của các loại khác nhau trong các chu kỳ khác nhau thông qua điều chỉnh tham số, đáng để khám phá sự thích nghi tốt của thị trường.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("ATR Long Only Strategy lower band buy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
len = input(52, type=input.integer, minval=1, title="Length")
mul = input(1.618, type=input.float, minval=0, title="Length")
mullow = input(2.618, type=input.float, minval=0, title="Length")
price = sma(close, 1)
average = ema(close, len)
diff = atr(len) * mul
difflow = atr(len) * mullow
bull_level = average + diff
bear_level = average - difflow
bull_cross = crossunder(price, bear_level)
bear_cross = crossunder(bull_level, price)
FromMonth = input(defval = 8, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 18, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2008, title = "From Year", minval = 2008)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 2020, title = "To Year", minval = 2019)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00)
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)
startTimeOk() => true
if (startTimeOk())
strategy.entry("KOP", strategy.long, when=bull_cross)
strategy.close("KOP", when=bear_cross) //strategy.entry("Sell", strategy.short, when=bear_cross)
plot(price, title="price", color=color.black, transp=50, linewidth=2)
a0 = plot(average, title="average", color=color.red, transp=50, linewidth=1)
a1 = plot(bull_level, title="bull", color=color.green, transp=50, linewidth=1)
a2 = plot(bear_level, title="bear", color=color.red, transp=50, linewidth=1)
fill(a0, a1, color=color.green, transp=97)
fill(a0, a2, color=color.red, transp=97)