Многочисленные скользящие средние показатели и стратегия перекрестной торговли RSI

Автор:Чао Чжан, Дата: 2024-03-22 14:38:19
Тэги:

img

Обзор

Многократные скользящие средние и стратегия перекрестного трейдинга RSI - это количественная стратегия торговли, которая сочетает в себе несколько скользящих средних, индекс относительной силы (RSI) и индикатор конвергенции скользящего среднего (MACD). Стратегия анализирует перекрестные отношения между быстрыми и медленными скользящими средними, наряду с сигналами от индикаторов RSI и MACD, чтобы определить рыночные тенденции и торговые возможности и принять соответствующие решения о покупке или продаже.

Принципы стратегии

Основной принцип этой стратегии заключается в использовании скользящих средних различных периодов и технических индикаторов для улавливания рыночных тенденций и торговых сигналов.

  1. Вычислить быструю скользящую среднюю величину (по умолчанию это 9-периодная экспоненциальная скользящая средняя величина) и медленную скользящую среднюю величину (по умолчанию это 21-периодная экспоненциальная скользящая средняя величина).
  2. Когда быстрый скользящий средний пересекает более медленного скользящего среднего, это считается бычьим трендом; когда быстрый скользящий средний пересекает ниже медленного скользящего среднего, это считается медленным трендом.
  3. Если показатель относительной силы (RSI) ниже уровня перепродажи (дефолт 30), это указывает на то, что рынок может быть перепродан; когда показатель относительной силы (RSI) выше уровня перекупления (дефолт 70), это указывает на то, что рынок может быть перекуплен.
  4. Вычислить индикатор Движущейся средней конвергенции дивергенции (MACD) с по умолчанию быстрым периодом 12, медленным периодом 26 и сигнальным периодом 9. Когда быстрая линия MACD пересекает линию сигнала, это считается быстрым сигналом; когда быстрая линия MACD пересекает линию сигнала, это считается медвежьим сигналом.
  5. В сочетании с вышеуказанными условиями, когда рынок находится в бычьем тренде, RSI не находится в регионе перекупленности, а MACD показывает бычий сигнал, стратегия открывает длинную позицию; когда рынок находится в медвежьем тренде, RSI не находится в регионе перепроданности, а MACD показывает медвежий сигнал, стратегия открывает короткую позицию.
  6. В течение периода хранения, если рыночная тенденция изменится или RSI войдет в область перекупленности/перепроданности, стратегия закрывает позицию и выходит с рынка.

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

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

Стратегия перекрестной торговли несколькими скользящими средними и RSI имеет следующие преимущества:

  1. Сильная способность отслеживать тенденции: объединяя скользящие средние различных периодов, стратегия может эффективно отслеживать основные тенденции рынка и избегать частой торговли на рынках с ограниченным диапазоном.
  2. Рассмотрение состояния перекупленности и перепроданности: Введение индикатора RSI позволяет стратегии выявлять условия перекупленности и перепроданности рынка, избегая вступления в позиции в экстремальных рыночных ситуациях и снижая риск.
  3. Подтверждение торговых сигналов: перекрестные сигналы индикатора MACD используются для подтверждения торговых возможностей, повышая надежность торговых сигналов.
  4. Параметры, поддающиеся регулированию: параметры стратегии, такие как скользящие средние периоды и пороги перекупа/перепродажи по показателям рентабельности, могут быть скорректированы в соответствии с характеристиками рынка и личными предпочтениями для повышения адаптивности стратегии.

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

Несмотря на свои преимущества, стратегия по-прежнему имеет следующие потенциальные риски:

  1. Риск оптимизации параметров: производительность стратегии зависит от выбора параметров, а ненадлежащие настройки параметров могут привести к неудаче стратегии.
  2. Рыночный риск: стратегия основана в основном на технических показателях, в то время как на рынок влияют множество факторов, таких как фундаментальные факторы, политика и события.
  3. Расходы на сдвиг и транзакции: в фактической торговле, сдвиг и транзакционные расходы повлияют на доходность стратегии. Частая торговля может привести к более высоким затратам на транзакции, снижая чистую доходность стратегии.

Для устранения этих рисков могут быть приняты следующие меры:

  1. Регулярно проводить обратные тесты и оптимизировать параметры для обеспечения надежности стратегии в различных рыночных условиях.
  2. Установление разумных уровней стоп-лосса и прибыли для контроля риска отдельных сделок.
  3. Разумно устанавливать частоту торговли и управление позициями, чтобы уменьшить влияние затрат на транзакции на доходность.
  4. Обратите внимание на рыночные основы и значимые события и в случае необходимости вручную вмешивайтесь в стратегию.

Руководство по оптимизации

  1. Внедрение большего количества технических индикаторов: рассмотреть возможность внедрения других технических индикаторов, таких как полосы Боллинджера, KDJ и т.д., для повышения надежности и разнообразия торговых сигналов.
  2. Динамическая корректировка параметров: в зависимости от изменений рыночных условий, динамически корректировать параметры стратегии, например, использовать длинносрочные скользящие средние в ясных тенденциях и короткосрочные скользящие средние на рынках с диапазоном.
  3. Включить механизмы стоп-лосса и тека прибыли: установить разумные уровни стоп-лосса и тека прибыли для снижения риска отдельных сделок и улучшения корректированной по риску доходности стратегии.
  4. Оптимизировать управление позициями: на основе волатильности рынка и силы торговых сигналов динамически корректировать размеры позиций, увеличивая позиции, когда тенденции ясны и сигналы сильны, и сокращая позиции, когда повышается неопределенность рынка.

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

Резюме

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


/*backtest
start: 2024-02-20 00:00:00
end: 2024-03-21 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Candle Genie Strategy", shorttitle="CGS", overlay=true)

// Parameters
fastLength = input(9, title="Fast MA Length")
slowLength = input(21, title="Slow MA Length")
rsiLength = input(14, title="RSI Length")
rsiOverboughtLevel = input(70, title="RSI Overbought Level")
rsiOversoldLevel = input(30, title="RSI Oversold Level")
macdFast = input(12, title="MACD Fast Length")
macdSlow = input(26, title="MACD Slow Length")
macdSignal = input(9, title="MACD Signal Length")

// Indicators
fastMA = ta.ema(close, fastLength)
slowMA = ta.ema(close, slowLength)
rsi = ta.rsi(close, rsiLength)
[macdLine, signalLine, _] = ta.macd(close, macdFast, macdSlow, macdSignal)

// Trend Conditions
bullishTrend = fastMA > slowMA
bearishTrend = fastMA < slowMA

// Trading Conditions
longCondition = bullishTrend and rsi < rsiOverboughtLevel and ta.crossover(macdLine, signalLine)
shortCondition = bearishTrend and rsi > rsiOversoldLevel and ta.crossunder(macdLine, signalLine)

// Entry Conditions
if (longCondition)
    strategy.entry("Long", strategy.long)

if (shortCondition)
    strategy.entry("Short", strategy.short)

// Exit Conditions
strategy.close("Long", when = bearishTrend or rsi > rsiOverboughtLevel)
strategy.close("Short", when = bullishTrend or rsi < rsiOversoldLevel)

// Plotting
plot(fastMA, color=color.blue, title="Fast MA")
plot(slowMA, color=color.red, title="Slow MA")
hline(rsiOverboughtLevel, "Overbought Level", color=color.red)
hline(rsiOversoldLevel, "Oversold Level", color=color.blue)
plot(macdLine - signalLine, color=color.purple, title="MACD Histogram")


Больше