Стратегия торговли пороговыми показателями РСИ

Автор:Чао Чжан, Дата: 2023-10-30 14:58:38
Тэги:

img

Обзор

Эта стратегия реализует простую стратегию торгового порога, основанную на индексе относительной силы (RSI). Она покупает, когда RSI падает ниже порога 30 и продает, когда RSI поднимается выше порога 40. Период хранения фиксирован на 10 дней. Стратегия подходит для среднесрочной торговли.

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

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

В частности, стратегия сначала рассчитывает 10-дневный RSI, затем устанавливает пороги на 30 и 40. Когда 10-дневный RSI падает ниже 30, генерируется сигнал покупки. Когда 10-дневный RSI поднимается выше 40, генерируется сигнал продажи. По получении сигнала покупки он открывает длинную позицию. По получении сигнала продажи, если дни хранения превышают 10 дней, он закрывает позицию напрямую. В противном случае он продолжает держать до 10-го дня, чтобы продать.

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

Преимущества

  1. Использует широко применяемый индикатор RSI с возможностью оптимизации параметров

Стратегия использует распространенный индикатор RSI. Параметры RSI могут быть скорректированы и оптимизированы в соответствии с различными периодами и рыночными условиями.

  1. Внедряет простую тенденцию следующей

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

  1. Относительно хороший контроль рисков

Стратегия использует фиксированный период хранения, чтобы эффективно контролировать однократные потери.

Риски

  1. Параметры RSI, подверженные чрезмерной оптимизации

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

  1. Эффект задержки существует

RSI является индикатором, следующим за тенденцией, и медленно реагирует на внезапные события, с некоторым отстающим эффектом.

  1. Установленный период хранения не является гибким

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

Руководство по улучшению

  1. Оптимизировать параметры RSI и результаты испытаний различных значений.

  2. Добавьте другие показатели, чтобы сформировать комбинированную систему, использующую сильные стороны различных показателей.

  3. Улучшить стратегию остановки прибыли/убытка для обеспечения динамических корректировок на основе рыночных условий.

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

  5. Испытать продукты, подходящие для стратегии, выбирая жидкие продукты с высокой волатильностью.

  6. Оптимизировать часы торговли и тестировать влияние стратегии.

Заключение

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


/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-29 00:00:00
period: 1d
basePeriod: 1h
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/
// © Bitduke

//@version=4
// strategy("Simple RSI Buy/Sell at a level", shorttitle="Simple RSI Strategy", overlay=true,calc_on_every_tick=false,pyramiding=1, default_qty_type=strategy.cash,default_qty_value=1000, currency=currency.USD, initial_capital=1000,commission_type=strategy.commission.percent, commission_value=0.075)
overbought = input(40, title="overbought value")
oversold = input(30, title="oversold value")
// Component Test Periods Code Begin
testStartYear = input(2018, "Backtest Start Year")
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2021, "Backtest Stop Year")
testStopMonth = input(16, "Backtest Stop Month")
testStopDay = input(2, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=input.bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() => true
// Component Test Periods Code End
//////////////////////////////////////////////////////////////////////

myrsi = rsi(close, 10) > overbought
myrsi2 = rsi(close, 10) < oversold

barcolor(myrsi ? color.black : na)
barcolor(myrsi2 ? color.blue : na)


myEntry = myrsi2 and hour(time) <= 9

strategy.entry("Buy Signal", strategy.long, when = myEntry and testPeriod())

// Close 10 bar periods after the condition that triggered the entry

//if (myEntry[10])
    //strategy.close("Buy Signal")
strategy.close("Buy Signal", when = barssince(myEntry) >= 10 or myrsi and testPeriod())

//strategy.entry("Sell Signal",strategy.short, when = myrsi2)

Больше