Стратегия "Белый ящик" - это простая механическая торговая стратегия, основанная на индикаторе ценового канала.
Основная логика стратегии ценового канала робот белый ящик заключается в:
Стратегия также имеет некоторые настраиваемые параметры:
Благодаря корректировке этих параметров стратегия может быть лучше адаптирована к различным продуктам и рыночным условиям.
Стратегия ценового канала робот белый ящик имеет следующие преимущества:
Короче говоря, это простая, но практичная стратегия, которая может достичь приличных результатов после настройки параметров.
Стратегия ценового канала робот белый ящик также имеет некоторые риски:
Для снижения этих рисков необходимо оптимизировать следующие аспекты:
Существует возможность дальнейшей оптимизации стратегии "Белый ящик роботов ценового канала":
Эти методы оптимизации могут помочь еще больше улучшить стабильность и рентабельность стратегии.
Стратегия Price Channel Robot White Box - это простая, но практичная стратегия, следующая за трендом. Она определяет направление тренда и точки перелома с использованием индикатора ценового канала для принятия торговых решений. Стратегия проста в понимании и реализации и может достичь приличной доходности после настройки параметров.
/*backtest start: 2023-02-21 00:00:00 end: 2024-02-27 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //@version=4 strategy(title = "Robot WhiteBox Channel", shorttitle = "Robot WhiteBox Channel", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_value = 0.1) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") needstop = input(true, defval = true, title = "Stop-loss") lotsize = input(100, defval = 100, minval = 1, maxval = 10000, title = "Lot, %") len = input(50, minval = 1, title = "Price Channel Length") showll = input(true, defval = true, title = "Show lines") showbg = input(false, defval = false, title = "Show Background") 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") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //Price Channel h = highest(high, len) l = lowest(low, len) center = (h + l) / 2 //Lines pccol = showll ? color.black : na slcol = showll ? color.red : na plot(h, offset = 1, color = pccol) plot(center, offset = 1, color = slcol) plot(l, offset = 1, color = pccol) //Background size = strategy.position_size bgcol = showbg == false ? na : size > 0 ? color.lime : size < 0 ? color.red : na bgcolor(bgcol, transp = 70) //Trading truetime = time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59) lot = 0.0 lot := size != size[1] ? strategy.equity / close * lotsize / 100 : lot[1] if h > 0 strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, stop = h, when = strategy.position_size <= 0 and truetime) strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, stop = l, when = strategy.position_size >= 0 and truetime) strategy.entry("S Stop", strategy.long, 0, stop = center, when = strategy.position_size[1] <= 0 and needstop) strategy.entry("L Stop", strategy.short, 0, stop = center, when = strategy.position_size[1] >= 0 and needstop) if time > timestamp(toyear, tomonth, today, 23, 59) strategy.close_all() strategy.cancel("Long") strategy.cancel("Short")