Стратегия быстрого прорыва индекса Пауэлла


Дата создания: 2023-10-24 11:51:56 Последнее изменение: 2023-10-24 11:51:56
Копировать: 0 Количество просмотров: 628
1
Подписаться
1617
Подписчики

Стратегия быстрого прорыва индекса Пауэлла

Обзор

Стратегия основана на RSI-индикаторе и EMA-элементе криптовалюты для осуществления операций быстрого прорыва. Она использует быстрые формы RSI и крупные криптовалюты для распознавания обратного сигнала.

Стратегический принцип

  1. Расчет RSI, цикл 7, с использованием RMA для реализации формы ускорения.

  2. Вычислить величину сущности EMA, цикл 30, как величину сущности ориентира.

  3. Если RSI пересекает линию предела ((по умолчанию 30), и текущий объект K-линии больше, чем средний размер объекта на 14, то делается больше.

  4. Если RSI ниже порога проникновения ((70 по умолчанию), и текущая K-линия больше, чем 14 от среднего размера объекта, сделайте пробел.

  5. Если RSI уже удерживает позицию, то она будет равномерной, когда RSI снова пересечет линию.

  6. Можно установить параметры, такие как длина RSI, лимиты, эталонные цены и т. д.

  7. Можно установить параметры, такие как размер объекта, цикл EMA, множитель chroot для хранения.

  8. Можно установить корень RSI Goldfork/Deadfork.

Анализ преимуществ

  1. Используя свойства обратного отсчета RSI, можно вовремя обнаружить обратный сигнал.

  2. RMA реализует ускоренный формат RSI, делая обратный курс более чувствительным.

  3. В сочетании с крупными K-линейными фильтрами, избегайте арбитража с небольшими колебаниями.

  4. Отслеживаемые данные являются достаточными и надежными.

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

  6. Логика транзакции ясна и проста.

Анализ рисков

  1. RSI имеет отклонение от обратной измеренности, эффективность реального диска еще не подтверждена.

  2. Крупные K-линейные компании не могут полностью отфильтровать рынок.

  3. Параметры по умолчанию могут не подходить для всех сортов и нуждаются в оптимизации.

  4. Возможно, шансы на победу невысоки, и требуется выдержать психологическое давление, вызванное непрерывными потерями.

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

Направление оптимизации

  1. Оптимизация параметров RSI для различных циклов и сортов.

  2. Оптимизируйте K-линейные объекты EMA-циклом, сглаживая их размеры.

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

  4. Увеличение мобильного стоп-лоста, гарантированная победа.

  5. Повышение фильтрации трендов, чтобы избежать обратной торговли.

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

Подвести итог

Эта стратегия в целом является очень простой прямой обратной стратегией. Она одновременно использует обратные свойства RSI и разрушительную силу крупных K-линейных объектов, чтобы быстро войти в рынок во время рыночных прорывов.

Исходный код стратегии
/*backtest
start: 2023-09-23 00:00:00
end: 2023-10-23 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title = "Noro's Fast RSI Strategy v1.2", shorttitle = "Fast RSI str 1.2", 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")
rsiperiod = input(7, defval = 7, minval = 2, maxval = 50, title = "RSI Period")
limit = input(30, defval = 30, minval = 1, maxval = 100, title = "RSI limit")
rsisrc = input(close, defval = close, title = "RSI Price")
rb = input(1, defval = 1, minval = 1, maxval = 5, title = "RSI Bars")
fromyear = input(2018, defval = 2018, 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
fastup = rma(max(change(rsisrc), 0), rsiperiod)
fastdown = rma(-min(change(rsisrc), 0), rsiperiod)
fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown))
uplimit = 100 - limit
dnlimit = limit

//RSI Bars
ur = fastrsi > uplimit
dr = fastrsi < dnlimit
uprsi = rb == 1 and ur ? 1 : rb == 2 and ur and ur[1] ? 1 : rb == 3 and ur and ur[1] and ur[2] ? 1 : rb == 4 and ur and ur[1] and ur[2] and ur[3] ? 1 : rb == 5 and ur and ur[1] and ur[2] and ur[3] and ur[4] ? 1 : 0
dnrsi = rb == 1 and dr ? 1 : rb == 2 and dr and dr[1] ? 1 : rb == 3 and dr and dr[1] and dr[2] ? 1 : rb == 4 and dr and dr[1] and dr[2] and dr[3] ? 1 : rb == 5 and dr and dr[1] and dr[2] and dr[3] and dr[4] ? 1 : 0

//Body
body = abs(close - open)
emabody = ema(body, 30)

//Signals
bar = close > open ? 1 : close < open ? -1 : 0
up = bar == -1 and (strategy.position_size == 0 or close < strategy.position_avg_price) and dnrsi and body > emabody / 4
dn = bar == 1 and (strategy.position_size == 0 or close > strategy.position_avg_price) and uprsi and body > emabody / 4
exit = ((strategy.position_size > 0 and fastrsi > dnlimit and bar == 1) or (strategy.position_size < 0 and fastrsi < uplimit and bar == -1)) and body > emabody / 2

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