Вот SEO-статьи, которые я написал на основе кода и требований, которые вы предоставили, с названиями стратегий, обзорами, принципами стратегии, анализа преимуществ, анализа рисков, направления оптимизации и подведением итогов:
Эта стратегия является быстрой реверсионной торговой стратегией RSI, которая в основном захватывает возможности реверсии, когда RSI перекуплен или перепродан. Она использует 3-дневный RSI для оценки уровней перекупленности и перепроданности, и сочетает 30-дневный MA для определения сигналов прорыва, открывая позиции, когда происходят реверсии после состояния перекупления или перепроданности.
Стратегия использует два показателя:
3-дневный RSI, чтобы оценить уровни перекупленности и перепродажи.
30-дневный MA для определения силы сигналов обратного движения. Когда тело реверсионной строки больше половины 30-дневного MA, оно используется в качестве входного сигнала.
Особые правила торговли:
Длинный сигнал: когда RSI ниже нижнего предела (по умолчанию 25) и текущий бар больше половины 30-дневного MA, перейти на длинный.
Краткий сигнал: когда RSI превышает верхний предел (по умолчанию 75) и текущий бар больше половины 30-дневного MA, перейти на короткий.
Сигнал выхода: при проведении длинных позиций, если RSI пересекает верхний предел, или при проведении коротких позиций, если RSI пересекает нижний предел, в то время как барное тело превышает половину 30-дневного MA, закрываются позиции.
Преимущества этой стратегии включают:
Использование краткосрочного RSI для быстрого использования краткосрочных возможностей для реверсии.
Увеличение надежности сигнала в сочетании с фильтром MA, избегая сбоев на рынках с ограниченным диапазоном.
Контролируемый вывод, максимальный вывод не будет слишком большим.
Ясные правила контроля позиций, избегают чрезмерной торговли.
Риски этой стратегии включают:
Риск неудачной реверсии: перекуп и перепродажа не обязательно приводят к реверсии.
Риск потери при торговле против тренда на развивающихся рынках.
Пропущенные возможности из-за слишком строгих правил фильтра.
Высокая чувствительность параметров, периоды RSI и MA требуют корректировки.
Стратегия может быть оптимизирована из следующих аспектов:
Оптимизируйте параметры RSI, чтобы найти оптимальный период.
Оптимизировать параметры MA для определения наилучшего периода фильтрации штрих-листов.
Добавьте стратегии стоп-лосса, такие как отслеживание стоп-лосса, чтобы контролировать однократную потерю.
Добавьте правила определения тренда, чтобы избежать торговли против трендов.
В заключение, это краткосрочная стратегия RSI, ориентированная на реверсию. Она фиксирует реверсии, идентифицируя быстрые уровни перекупленности и перепродажи RSI, и использует фильтр MA для подтверждения входов. Преимущества - контролируемые снижения и четкий контроль позиций.
/*backtest start: 2023-10-31 00:00:00 end: 2023-11-30 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title = "Noro's Fast RSI Strategy v1.0", shorttitle = "Fast RSI str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 5) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") limit = input(25, defval = 25, minval = 1, maxval = 100, title = "RSI limit") 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") //Fast RSI src = close fastup = rma(max(change(src), 0), 3) fastdown = rma(-min(change(src), 0), 3) fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown)) uplimit = 100 - limit dnlimit = limit //Body body = abs(close - open) emabody = ema(body, 30) / 2 //Signals bar = close > open ? 1 : close < open ? -1 : 0 up = bar == -1 and fastrsi < dnlimit and body > emabody dn = bar == 1 and fastrsi > uplimit and body > emabody exit = ((strategy.position_size > 0 and fastrsi > dnlimit) or (strategy.position_size < 0 and fastrsi < uplimit)) and body > emabody //Trading if up strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00))) if dn strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 00, 00))) if time > timestamp(toyear, tomonth, today, 00, 00) or exit strategy.close_all()