
Внутренняя стратегия торговли RSI TAM использует индикатор RSI для осуществления входа и выхода в течение суток. Стратегия хорошо работает в условиях двойного пространства и может эффективно использовать индикатор RSI для захвата рынка сверхпокупа и сверхпродажи, а также для проведения регрессивных операций в случае возврата.
Эта стратегия использует два индикатора RSI для получения сигналов о покупке и продаже. Для получения сигналов о покупке используются краткосрочные 2-дневные RSI и среднесрочные 14-дневные RSI, для получения сигналов о покупке используются краткосрочные 7-дневные RSI и среднесрочные 50-дневные RSI, для получения сигналов о продаже используются краткосрочные 7-дневные RSI и среднесрочные 50-дневные RSI, для получения сигналов о продаже используются краткосрочные 2-дневные RSI и среднесрочные 14-дневные RSI.
Стратегия одновременно требует, чтобы значение RSI фактически пересекало 50, а не просто производило скрещивание, что может отфильтровывать многие ложные сигналы. В частности, покупка требует одновременного выполнения следующих условий:
Условия продажи похожи:
Такая многократная фильтрация гарантирует, что сигнал будет подаваться только тогда, когда RSI показывает признаки перекупа и перепродажи, и не будет вводиться в заблуждение небольшими колебаниями.
Внутренний RSI TAM имеет следующие преимущества:
Использование двойного RSI для многовременного анализа позволяет эффективно отфильтровывать рыночный шум и вступать в игру только в заметных точках перехода тенденции.
Сигналы появляются только тогда, когда RSI фактически пересекает критический порог, чтобы избежать ошибочного ложного прорыва.
Используя различные параметры RSI для определения входа и выхода, можно более точно улавливать точки поворота.
В течение суточного торгового периода RSI показал более стабильный и надежный результат, который подходит для стратегии суточного торговли.
Настраиваемые параметры гибкие, можно скорректировать RSI параметры для различных рынков, чтобы получить лучшую производительность.
Логика ясна, проста, легко понятна и подходит для количественных сделок.
Однако эта стратегия также несет в себе некоторые риски:
Дневные сделки содержат риск ночных зазоров, которые могут быть заменены на стратегические стоп-лоски.
RSI подвержен отклонениям, которые необходимо проверить с помощью других показателей.
В течение дня рынок сильно колеблется, поэтому необходимо ослабить, но не переусердствовать, в установке стоп-лосс.
Оптимизация параметров имеет риск переоптимизации и должна быть проверена на разных рынках.
Количественный отсчет не может полностью отражать эффективность торговли на реальном рынке, поэтому необходимо соответствующее корректирование стратегии на реальном рынке.
Эта стратегия может быть оптимизирована в следующих аспектах:
В сочетании с другими показателями подтверждает сигнал RSI, например, KDJ, MACD и т. д.
Увеличение фильтрации объема сделок, принимая во внимание сигнал только в случае увеличения объема сделок.
Оптимизация параметров стратегии, тестирование параметров на более короткие внутридневные циклы.
Добавление машинного обучения, моделирующего принятие решений, с использованием алгоритмов для автоматического обнаружения лучших параметров.
Искусственная стратегия, в сочетании с методами технического анализа, такими как ключевые поддерживающие сопротивления, графические формы и т. Д.
Оптимизация стратегии остановки убытков, использование методов ATR, амплитуды и других методов для установки динамического остановки убытков.
В целом, внутридневная стратегия RSI TAM является очень практичной количественной стратегией. Она использует многократные временные рамки оценки показателей RSI для эффективного определения перепродажи, в сочетании со строгими правилами входа и выхода, чтобы отфильтровать ложные сигналы. При оптимизации параметров и управлении рисками эта стратегия может создавать стабильные торговые сигналы и обеспечивать хорошую эффективность торговли.
/*backtest
start: 2023-09-16 00:00:00
end: 2023-10-16 00:00:00
period: 1h
basePeriod: 15m
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/
// © DvKel
//@version=5
strategy("TAM - RSI Strategy", overlay = true)
// Input parameters
useDateFilter = input.bool(true, title="Filter Date Range of Backtest", group="Backtest Time Period")
startDate = input(timestamp("2020-01-01"), title = "Start date", group = "Backtest Time Period")
buyRsiLength1 = input(2, title = "RSI Buy Length 1 (default 2)", group="Buy configuration")
buyRsiLength2 = input(14, title = "RSI Buy Length 2 (default 14)", group="Buy configuration")
buyRsiValue = input(50, title = "RSI Buy Value Signal (default 50)", group="Buy configuration")
closeRsiLength1 = input(7, title = "RSI Close Length 1 (default 7)", group="Close configuration")
closeRsiLength2 = input(50, title = "RSI Close Length 2 (default 50)", group="Close configuration")
closeRsiValue = input(50, title = "RSI Close Value Signal (default 50)", group="Close configuration")
// Check timeframe
inTradeWindow = true
// Calculate RSI
rsiBuy1Value = ta.rsi(close, buyRsiLength1)
rsiBuy2Value = ta.rsi(close, buyRsiLength2)
rsiClose1Value = ta.rsi(close, closeRsiLength1)
rsiClose2Value = ta.rsi(close, closeRsiLength2)
// Strategy conditions
//(ta.crossover(rsiBuy1Value, buyRsiValue) or ta.crossover(rsiBuy2Value, buyRsiValue)) and
//8ta.crossunder(rsiClose1Value, closeRsiValue) or ta.crossunder(rsiClose2Value, closeRsiValue)) and
buyCondition = (ta.crossover(rsiBuy1Value, buyRsiValue) or ta.crossover(rsiBuy2Value, buyRsiValue)) and rsiBuy1Value > buyRsiValue and rsiBuy2Value > buyRsiValue
closeCondition = (ta.crossunder(rsiClose1Value, closeRsiValue) or ta.crossunder(rsiClose2Value, closeRsiValue)) and rsiClose1Value < closeRsiValue and rsiClose2Value < closeRsiValue
// Strategy actions
if (inTradeWindow and buyCondition)
strategy.entry("Buy", strategy.long)
if (inTradeWindow and closeCondition)
strategy.close("Buy")
// Plot RSI and overbought/oversold levels
plotchar(rsiBuy1Value, title = "RSI-Buy1", color = color.green)
plotchar(rsiBuy2Value, title = "RSI-Buy2", color = color.lime)
plotchar(rsiClose1Value, title = "RSI-Close1", color = color.red)
plotchar(rsiClose2Value, title = "RSI-Close2", color = color.fuchsia)