Тенденция норо-групп после стратегии

Автор:Чао Чжан, Дата: 2023-09-18 13:57:31
Тэги:

Обзор

Эта стратегия использует пользовательский индикатор Noro Bands для определения направления тренда и генерирует торговые сигналы на основе конкретных правил.

Логика стратегии

  1. Определить недавний максимум, минимум на основе периода пользователя, и вычислить среднюю и верхнюю/нижнюю полосы.

  2. Определить направление тренда. Цена выше верхней полосы - восходящий тренд. Цена ниже нижней полосы - нисходящий тренд.

  3. Покупайте сигнал, когда цена проходит ниже нижней полосы в восходящем тренде. Продайте сигнал, когда цена проходит выше верхней полосы в нисходящем тренде.

  4. Интегрируйте CryptoBottom. Добавьте возможности покупки, когда появится сигнал CryptoBottom.

  5. Правила открытия позиции. Пользователи могут выбирать торговать только длинными или короткими. Без выбора, торговать обеими сторонами.

  6. Показать или скрыть схему группы.

Преимущества

  1. Полосы Норо эффективно определяют направление тренда.

  2. Комбинируя полосу прорыва, можно избежать ложных сигналов.

  3. CryptoBottom улучшает качество сигналов покупки.

  4. Настраивается только для длинных или коротких сделок.

  5. Настраиваемые параметры подходят для разных временных рамок.

Риски

  1. Неправильные параметры могут привести к сбоям в расчете диапазона.

  2. Сигналы прорыва имеют задержку.

  3. КриптоБотм не совсем надежный.

  4. Торговля только с одной стороны может упустить возможности.

  • Риск 1 можно решить путем оптимизации параметров.

  • Риск 2 можно улучшить путем сочетания других показателей.

  • Риск 3 требует подтверждения производительности CryptoBottom.

  • Риск 4 требует оценки рентабельности односторонней торговли.

Возможности для расширения

  1. Влияние параметров испытания на полосы Норо.

  2. Оцените другие показатели прорыва вместо полос Норо.

  3. Оценить стратегии стоп-лосса.

  4. Проверка эффективности только длинных или коротких сделок.

  5. Оптимизируйте параметры для 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)

Больше