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

Автор:Чао Чжан, Дата: 2024-01-16 15:46:11
Тэги:

img

Обзор

Эта стратегия сочетает в себе использование скользящих средних и Stochastic Relative Strength Index (Stochastic RSI) для поиска торговых возможностей. В частности, она рассматривает среднесрочную скользящую среднюю в восходящем тренде и показатель Stochastic RSI с перекупленным / перепроданным, чтобы принимать торговые решения, когда появляются оба сигнала. Это сочетание может отфильтровать некоторые ложные сигналы и улучшить стабильность стратегии.

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

Основными составляющими этой стратегии являются:

  1. Вычислить две скользящие средние, MA1 и MA2, с разными периодами.

  2. Вычислить индекс относительной силы стохастического показателя (Stochastic RSI). Этот показатель включает в себя RSI и стохастические принципы, чтобы показать, является ли RSI перекупленным или перепроданным.

  3. Сигнал покупки генерируется, когда стохастический RSI пересекает превышение порога перепродажи, в то время как сигнал продажи генерируется, когда он пересекает превышение порога покупки.

  4. Введите длинный, когда стохастические сигналы RSI выравниваются с более быстрой скользящей средней выше более медленной.

  5. Вычислить сумму риска и размер позиции.

  6. Установите стоп-лосс и возьмите цену прибыли.

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

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

  1. Сочетание средне- и долгосрочных скользящих сред может определить общее направление тенденции рынка.

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

  3. Комбинированное использование фильтрует ложные сигналы и улучшает стабильность.

  4. Процентный метод фиксированного риска управляет риском путем ограничения единого убытка ниже допустимого уровня.

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

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

В этой стратегии также есть некоторые риски:

  1. На рыночных диапазонах комбинированные скользящие средние могут давать ложные сигналы.

  2. Стохастический RSI чувствителен к волатильному ценовому движению и также может иногда давать ложные сигналы.

  3. Распределение риска на фиксированный риск не может полностью избежать больших потерь.

  4. В экстремально волатильных сценариях разумные цены стоп-лосса/прибыли недоступны.

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

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

  1. Проверьте больше комбинаций параметров, чтобы найти оптимальные периоды.

  2. Попробуйте комбинировать скользящие средние с другими индикаторами, такими как KDJ, MACD и т. Д. Определите наилучшее соответствие.

  3. Тест и оптимизация на различных торговых инструментах.

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

Заключение

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


/*backtest
start: 2023-01-09 00:00:00
end: 2024-01-15 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Moving Average and Stochastic RSI Strategy", shorttitle="MA+Stoch RSI", overlay=true)

// Input variables
ma1_length = input.int(20, title="MA1 Length")
ma2_length = input.int(50, title="MA2 Length")
stoch_length = input.int(14, title="Stochastic RSI Length")
overbought = input.int(80, title="Overbought Level")
oversold = input.int(20, title="Oversold Level")
risk_percentage = input.float(2.0, title="Risk Percentage")

// Calculate moving averages
ma1 = ta.sma(close, ma1_length)
ma2 = ta.sma(close, ma2_length)

// Calculate Stochastic RSI
rsi1 = ta.rsi(close, stoch_length)
rsiH = ta.highest(rsi1, stoch_length)
rsiL = ta.lowest(rsi1, stoch_length)
stoch = (rsi1 - rsiL) / (rsiH - rsiL) * 100

// Determine buy and sell signals based on Stochastic RSI
buySignal = ta.crossover(stoch, oversold)
sellSignal = ta.crossunder(stoch, overbought)

// Plot signals on the chart
plotshape(buySignal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sellSignal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)

// Calculate position size based on equity and risk percentage
equity = strategy.equity
riskAmount = equity * risk_percentage / 100
positionSize = riskAmount / ta.atr(14)

// Entry and exit conditions
var float stopLoss = na
var float takeProfit = na

if buySignal
    stopLoss := low
    takeProfit := high
    strategy.entry("Buy", strategy.long)
else if sellSignal
    strategy.exit("Sell", from_entry="Buy", stop=stopLoss, limit=takeProfit)


Больше