Стратегия ценового канала Noro v1.1

Автор:Чао Чжан, Дата: 2023-10-24 10:59:38
Тэги:

img

Обзор

Стратегия ценового канала Noro v1.1 - это стратегия трендовой торговли, основанная на ценовых каналах и изменениях направления цены. Эта стратегия сочетает в себе индикатор ценового канала и быстрый индикатор RSI для выявления сигналов прорыва цены с канала, а также последовательные сигналы обратного цвета красных/зеленых свечей для установления длинных/коротких позиций. Цель этой стратегии - улавливать направление средне- и долгосрочных тенденций, избегая шума от краткосрочных колебаний рынка.

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

Стратегия сначала рассчитывает среднее значение самых высоких и самых низких цен за определенный период, чтобы построить средний ценовой канал. Когда цена выходит за канал снизу, это считается длинным сигналом. Когда цена выходит за канал сверху, это считается коротким сигналом.

В то же время стратегия включает в себя два вспомогательных правила: быстрый RSI и цвет свечи. Когда быстрый RSI ниже 25%, это указывает на статус перепроданности, и цены могут восстановиться. В сочетании с прорывом выше канала, это создает более сильный длинный сигнал. Напротив, когда быстрый RSI выше 75%, это указывает на статус перекупленности, и цены могут упасть. В сочетании с разрывом ниже канала, это создает более сильный короткий сигнал. Кроме того, стратегия отслеживает изменения цвета свечи за последние две свечи. Две последовательные красные свечи усиливают короткий сигнал, а две последовательные зеленые свечи усиливают длинный сигнал.

Комбинируя эти три индикатора сигнала, стратегия может эффективно идентифицировать средне- и долгосрочные тенденции и соответственно устанавливать позиции.

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

Наибольшее преимущество этой стратегии заключается в том, что она включает в себя несколько индикаторов для определения направления тренда и избежания шума от краткосрочных колебаний рынка.

  1. Канал цен четко определяет направление и силу тренда.

  2. Быстрый РСИ оценивает условия перекупленности/перепроданности, чтобы избежать преследования тенденций в переломные моменты.

  3. Проверка цвета свечи подтверждает стойкость тренда.

  4. Стратегия включает только две последовательные свечи одного цвета, нарушающие канал, избегая ложных сигналов от краткосрочных колебаний.

  5. Простой средний стоп-лосс закрывает позиции после изменения цвета свечи, эффективно минимизируя потери.

Риски

Для этой стратегии также существуют некоторые риски:

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

  2. Неправильные настройки быстрого параметра RSI могут не позволить точно определить условия перекупления/перепродажи, что приводит к отсутствию возможностей для реверсии.

  3. Простой механизм стоп-лосса может быть слишком чувствительным к колеблющимся тенденциям, вызывая чрезмерное открытие и закрытие позиции.

  4. Он не может предсказать продолжение фактической тенденции после прорыва ценового канала, что приводит к увеличению потерь.

  5. Она не может адаптироваться к черным лебедям с внезапным влиянием на рынок, что приводит к огромным потерям.

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

Некоторые основные возможности для совершенствования стратегии включают:

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

  2. Включить меры волатильности для корректировки параметров RSI, снижая чувствительность при высокой волатильности и увеличивая чувствительность при низкой волатильности.

  3. Добавить механизмы отставания с уровнем остановки, основанным на волатильности тренда, чтобы избежать чрезмерно чувствительных остановок.

  4. Улучшить определение силы прорыва и медвежьей/бычьей дивергенции для предотвращения ложных прорывов.

  5. Включить модели обучения историческим данным, чтобы помочь в оценке поворотных точек тренда с высокой вероятностью и улучшить точность ввода.

  6. Оптимизировать модели размещения позиций для динамической корректировки распределения на основе условий риска.

Заключение

В целом, стратегия ценового канала Noro v1.1 - это простая и практичная стратегия следования трендам. Она включает в себя несколько индикаторов для определения средне- и долгосрочных направлений тренда и устанавливает относительно благоразумные правила входа. Есть место для дальнейшего совершенствования в таких областях, как механизмы остановки потерь и динамическая настройка параметров. Но общая логика проста и ясна, что позволяет легко реализовать ее для количественной торговли, особенно для новичков. С настройкой параметров и оптимизацией механизма она может стать стабильной и надежной торговой системой.


/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-23 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's Price Channel Strategy v1.1", shorttitle = "Price Channel str 1.1", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
usecol = input(true, defval = true, title = "Use color strategy")
usersi = input(true, defval = true, title = "Use RSI strategy")
lev = input(1, defval = 1, minval = 1, maxval = 100, title = "leverage")
pch = input(30, defval = 30, minval = 2, maxval = 200, title = "Price Channel")
showcl = input(true, defval = true, title = "Show center-line")
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")
src = close

//Price channel
lasthigh = highest(src, pch)
lastlow = lowest(src, pch)
center = (lasthigh + lastlow) / 2
trend = low > center ? 1 : high < center ? -1 : trend[1]
col = showcl ? blue : na
plot(center, color = col, linewidth = 2)

//Bars
bar = close > open ? 1 : close < open ? -1 : 0
rbars = sma(bar, 2) == -1
gbars = sma(bar, 2) == 1

//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))

//Signals
body = abs(close - open)
abody = sma(body, 10)
up1 = rbars and close > center and usecol
dn1 = gbars and close < center and usecol
up2 = fastrsi < 25 and close > center and usersi
dn2 = fastrsi > 75 and close < center and usersi
exit = (((strategy.position_size > 0 and close > open) or (strategy.position_size < 0 and close < open)) and body > abody / 2)
lot = strategy.equity / close * lev

//Trading
if up1 or up2
    if strategy.position_size < 0
        strategy.close_all()
        
    strategy.entry("Long", strategy.long, needlong == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn1 or dn2
    if strategy.position_size > 0
        strategy.close_all()
        
    strategy.entry("Short", strategy.short, needshort == false ? 0 : lot, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59) or exit
    strategy.close_all()

Больше