Эта стратегия использует пользовательский индикатор Noro Bands для определения направления тренда и генерирует торговые сигналы на основе конкретных правил.
Определить недавний максимум, минимум на основе периода пользователя, и вычислить среднюю и верхнюю/нижнюю полосы.
Определить направление тренда. Цена выше верхней полосы - восходящий тренд. Цена ниже нижней полосы - нисходящий тренд.
Покупайте сигнал, когда цена проходит ниже нижней полосы в восходящем тренде. Продайте сигнал, когда цена проходит выше верхней полосы в нисходящем тренде.
Интегрируйте CryptoBottom. Добавьте возможности покупки, когда появится сигнал CryptoBottom.
Правила открытия позиции. Пользователи могут выбирать торговать только длинными или короткими. Без выбора, торговать обеими сторонами.
Показать или скрыть схему группы.
Полосы Норо эффективно определяют направление тренда.
Комбинируя полосу прорыва, можно избежать ложных сигналов.
CryptoBottom улучшает качество сигналов покупки.
Настраивается только для длинных или коротких сделок.
Настраиваемые параметры подходят для разных временных рамок.
Неправильные параметры могут привести к сбоям в расчете диапазона.
Сигналы прорыва имеют задержку.
КриптоБотм не совсем надежный.
Торговля только с одной стороны может упустить возможности.
Риск 1 можно решить путем оптимизации параметров.
Риск 2 можно улучшить путем сочетания других показателей.
Риск 3 требует подтверждения производительности CryptoBottom.
Риск 4 требует оценки рентабельности односторонней торговли.
Влияние параметров испытания на полосы Норо.
Оцените другие показатели прорыва вместо полос Норо.
Оценить стратегии стоп-лосса.
Проверка эффективности только длинных или коротких сделок.
Оптимизируйте параметры для CryptoBottom.
Эта стратегия использует Noro Bands для определения тренда и сигналов прорыва к временным входам.
/*backtest start: 2023-09-10 00:00:00 end: 2023-09-17 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("Noro's Bands Strategy v1.2", shorttitle = "NoroBands str 1.2", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period") color = input(true, "Use Color or bar") usecb = input(true, "Use CryptoBottom") needbb = input(true, defval = false, title = "Show Bands") needbg = input(true, defval = false, title = "Show Background") src = close //Fast RSI fastup = rma(max(change(src), 0), 2) fastdown = rma(-min(change(src), 0), 2) fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown)) //CryptoBottom mac = sma(close, 10) lencb = abs(close - mac) sma = sma(lencb, 100) max = max(open, close) min = min(open, close) //dn = close > open and len > sma * 3 and max > max[1] and fastrsi > 90 ? 1 : 0 //PriceChannel lasthigh = highest(src, len) lastlow = lowest(src, len) center = (lasthigh + lastlow) / 2 //dist dist = abs(src - center) distsma = sma(dist, len) hd = center + distsma ld = center - distsma //Trend trend = close < ld and high < hd ? -1 : close > hd and low > ld ? 1 : trend[1] //Lines colo = needbb == false ? na : black plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band") plot(center, color = colo, linewidth = 1, transp = 0, title = "center") plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band") //Background col = needbg == false ? na : trend == 1 ? lime : red bgcolor(col, transp = 90) //Signals up = trend == 1 and ((close < open or color == false) or close < hd) ? 1 : 0 dn = trend == -1 and ((close > open or color == false) or close > ld) ? 1 : 0 up2 = close < open and lencb > sma * 3 and min < min[1] and fastrsi < 10 ? 1 : 0 //CryptoBottom longCondition = up == 1 or (up2 == 1 and usecb == true) if (longCondition) strategy.entry("Long", strategy.long, needlong == false ? 0 : na) shortCondition = dn == 1 if (shortCondition) strategy.entry("Short", strategy.short, needshort == false ? 0 : na)