Комбинированная торговая стратегия SMA и RSI


Дата создания: 2023-10-08 11:40:49 Последнее изменение: 2023-10-08 11:40:49
Копировать: 0 Количество просмотров: 993
1
Подписаться
1617
Подписчики

Обзор

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

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

  1. Используйте SMA ((200 циклов) для определения направления большого тренда, когда цена ниже SMA, появляются возможности пробега.

  2. Используйте RSI (цикл 14) для определения перекупа и перепродажи.

  3. После открытия позиции, с минимальной ценой закрытия в качестве отслеживания стоп-поста. Если RSI пересекает 54 или 32, то стоп-поста выходит из поля.

  4. Существует три способа остановки убытков: остановка цены, остановка RSI и остановка прибыли.

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

  1. В сочетании с трендовым отслеживанием и сверхпокупаемым и сверхпродаваемым индикатором можно повысить точность времени входа в рынок.

  2. Отслеживание стоп-лосса позволяет защитить прибыль от изменения цены в реальном времени и избежать слишком жесткого стоп-лосса.

  3. Двухсторонний триггер RSI может закрепить прибыль и предотвратить убытки от чрезмерного отскока.

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

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

  1. Настройки параметров SMA и RSI могут не подходить для всех разновидностей и периодов, требуя оптимизации.

  2. Фактическая прибыль и убыток не учитывают затраты на сделку, такие как пропускные точки и комиссионные.

  3. Сигналы могут быть ненадежными, если не учитывать другие факторы, такие как объемы торговли и структура рынка.

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

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

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

  1. Тестирование и оптимизация параметров SMA и RSI для поиска оптимальных комбинаций.

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

  3. Можно тестировать комбинацию других показателей, таких как MACD, Брин-пояса и т. д.

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

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

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

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

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

Исходный код стратегии
/*backtest
start: 2022-10-01 00:00:00
end: 2023-10-07 00:00:00
period: 2d
basePeriod: 1d
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/
// © abdllhatn

//@version=5
// strategy("Alpha Short SMA and RSI Strategy", overlay=true, initial_capital=10000, default_qty_value=100)

// Inputs
sma_length = input(200, title="SMA Length")
rsi_length = input(14, title="RSI Length")
rsi_entry = input(51, title="RSI Entry Level")
rsi_stop = input(54, title="RSI Stop Level")
rsi_take_profit = input(32, title="RSI Take Profit Level")

// Indicators
sma_value = ta.sma(close, sma_length)
rsi_value = ta.rsi(close, rsi_length)

var float trailingStop = na
var float lastLow = na

// Conditions
shortCondition = ta.crossover(rsi_value, rsi_entry) and close < sma_value
if (shortCondition)
    strategy.entry("Sell", strategy.short)
    trailingStop := na
    lastLow := na

if (strategy.position_size < 0)
    if (na(lastLow) or close < lastLow)
        lastLow := close
        trailingStop := close

if not na(trailingStop) and close > trailingStop
    strategy.close("Sell")

if (rsi_value >= rsi_stop)
    strategy.close("Sell")

if (rsi_value <= rsi_take_profit)
    strategy.close("Sell")

// Plot
plot(sma_value, color=color.red, linewidth=2)