Стратегия роста криптовалютных трендов

Автор:Чао Чжан, Дата: 2023-10-17 17:08:31
Тэги:

img

Обзор

RSI Rising Crypto Trending Strategy - это стратегия трендовой торговли, предназначенная для более длительных временных рамок (4h+) на крипто- и фондовых рынках.

Он использует RSI для выявления восходящих и падающих тенденций в сочетании с полосами Боллинджера и ROC, чтобы избежать торговли на боковых рынках.

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

В стратегии используются следующие показатели:

  • RSI - для определения тенденций роста/падения
  • Болинджерские полосы - для определения боковых рынков
  • ROC - Для подтверждения направления тренда

Специфическими правилами торговли являются:

Правила въезда

Длинный вход: рост RSI И небоковый рынок по BB и ROC Краткий вход: снижение ИНС И небоковый рынок по BB и ROC

Правила выхода

Выход при сдвиге сигнала

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

  • Захватывает поворотные моменты тренда на ранней стадии с помощью RSI
  • Избегает попадания в ловушку на боковых рынках с помощью BB
  • ROC подтверждает направление тренда для более сильных сигналов
  • Хорошо для длительных временных сделок и отслеживания тенденций
  • Лучше для крипто-/криптопар, чтобы избежать фиатного риска

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

  • Нет стоп-лосса, поэтому высокий риск больших потерь
  • Плохие BB и ROC параметры могут привести к пропущенным сделкам или плохим сигналам
  • Это чисто техническое, поэтому не будет принимать участие в крупных событиях Черного Лебедя.

Увеличить стоп-лосс, оптимизировать параметры BB/ROC и включить фундаментальный анализ.

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

Некоторые способы улучшения этой стратегии:

  1. Добавить стоп-лосс для управления рисками и установить максимальную потерю на одну сделку.

  2. Оптимизируйте BB и ROC параметры с помощью обратного тестирования, чтобы найти лучшие настройки.

  3. Включить дополнительные индикаторы, такие как MACD, KD для надежности сигналов с несколькими индикаторами.

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

  5. Используйте машинное обучение для автоматической оптимизации параметров и взвешивания сигнала.

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

Резюме

RSI Rising Crypto Trend Strategy фиксирует долгосрочные крипто-тенденции с использованием RSI плюс BB и ROC. Преимущество заключается в быстром обнаружении обратных тенденций и избежании ловушек. Слабыми сторонами являются отсутствие стоп-лосса и зависимость от параметров. Улучшения, такие как стоп-лосс, оптимизация, машинное обучение, могут сделать его более надежным.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © exlux99

//@version=4
strategy(title = "RSI Rising", overlay = true, initial_capital = 100, default_qty_type= strategy.percent_of_equity, default_qty_value = 100, slippage=0,commission_type=strategy.commission.percent,commission_value=0.03)

/////////////////////
source          = close
bb_length       = 20
bb_mult         = 1.0
basis           = sma(source, bb_length)
dev             = bb_mult * stdev(source, bb_length)
upperx           = basis + dev
lowerx           = basis - dev
bbr             = (source - lowerx)/(upperx - lowerx)
bbr_len         = 21
bbr_std         = stdev(bbr, bbr_len)
bbr_std_thresh  = 0.1
is_sideways     = (bbr > 0.0 and bbr < 1.0) and bbr_std <= bbr_std_thresh


////////////////
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2010, title = "From Year", minval = 1970)
 //monday and session 
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2021, title = "To Year", minval = 1970)

startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true


sourcex = close
length = 2
pcntChange = 1

roc = 100 * (sourcex - sourcex[length])/sourcex[length]
emaroc = ema(roc, length/2)
isMoving() => emaroc > (pcntChange / 2) or emaroc < (0 - (pcntChange / 2))


periods = input(19)
smooth = input(14, title="RSI Length" )
src = input(low, title="Source" )


rsiClose = rsi(ema(src, periods), smooth)
long=rising(rsiClose,2) and not is_sideways and isMoving()
short=not rising(rsiClose,2) and not is_sideways and isMoving()


if(time_cond)
    strategy.entry('long',1,when=long)
    strategy.entry('short',0,when=short)


Больше