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


Дата создания: 2024-11-29 15:20:30 Последнее изменение: 2024-11-29 15:20:30
Копировать: 0 Количество просмотров: 336
1
Подписаться
1617
Подписчики

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

Обзор

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

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

В основе стратегии лежит определение рыночных тенденций путем анализа относительной позиционной связи между тремя средними линиями (MA20, MA50 и MA200). Стратегия определяет 18 различных сценариев комбинации средних линий, основное внимание уделяется перекресткам средних линий и позиционной связи. Когда средняя линия находится выше средней линии долгосрочного периода, тенденция к увеличению; наоборот, тенденция к потере.

Стратегические преимущества

  1. Установление многомерных тенденций: более точное определение силы и направления рыночных тенденций путем анализа взаимосвязей между несколькими равномерными линиями
  2. Динамическое управление рисками: использование механизмов отслеживания стоп-лосс, позволяющих прибыли продолжать расти, защищая прибыль, уже полученную
  3. Усовершенствованный механизм фильтрации: фильтрация сигналов в сочетании с показателем RSI, эффективное уменьшение ложных сигналов
  4. Оптимизация риска-прибыли: с риском-прибыль в размере 1:10, в поисках доходов от больших тенденций
  5. Адаптируемость: стратегия может быть применена в разных рынках и временных периодах

Стратегический риск

  1. Риск рыночных потрясений: возможны частые ложные сигналы прорыва на рынке в поперечном колебании
  2. Риск скольжения: в быстрых рынках 25-пунктная стоп-слежка может быть неточно выполнена из-за скольжения
  3. Риск обратного тренда: при обратном тренде стратегия может реагировать медленно, что приводит к возврату уже полученных прибылей
  4. Параметрозависимость: эффективность стратегии в значительной степени зависит от выбора среднелинейного периода и параметров RSI

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

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

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

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

Исходный код стратегии
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Refined MA Strategy with Trailing Stop for 30m", overlay=true)

// Define the moving averages
TR20 = ta.sma(close, 20)
TR50 = ta.sma(close, 50)
TR200 = ta.sma(close, 200)

// Define the RSI for additional filtering
rsi = ta.rsi(close, 14)

// Define the scenarios
scenario1 = TR20 > TR50 and TR50 > TR200
scenario2 = TR50 > TR20 and TR20 > TR200
scenario3 = TR200 > TR50 and TR50 > TR20
scenario4 = TR50 > TR200 and TR200 > TR20
scenario5 = TR20 > TR200 and TR200 > TR50
scenario6 = TR200 > TR20 and TR20 > TR50
scenario7 = TR20 == TR50 and TR50 > TR200
scenario8 = TR50 == TR20 and TR20 > TR200
scenario9 = TR200 == TR50 and TR50 > TR20
scenario10 = TR20 > TR50 and TR50 == TR200
scenario11 = TR50 > TR20 and TR20 == TR200
scenario12 = TR20 > TR50 and TR50 == TR200
scenario13 = TR20 == TR50 and TR50 == TR200
scenario14 = TR20 > TR50 and TR200 == TR50
scenario15 = TR50 > TR20 and TR200 == TR50
scenario16 = TR20 > TR50 and TR50 == TR200
scenario17 = TR20 > TR50 and TR50 == TR200
scenario18 = TR20 > TR50 and TR50 == TR200

// Entry conditions
longCondition = (scenario1 or scenario2 or scenario5) and rsi < 70
shortCondition = (scenario3 or scenario4 or scenario6) and rsi > 30

// Execute trades based on scenarios with 50 points stop loss and 1:10 RR, using a trailing stop of 25 points
if (longCondition)
    strategy.entry("Long", strategy.long)
    strategy.exit("Take Profit", from_entry="Long", limit=close + 250, trail_offset=25)

if (shortCondition)
    strategy.entry("Short", strategy.short)
    strategy.exit("Take Profit", from_entry="Short", limit=close - 250, trail_offset=25)