
Стратегия HYE Mean Reversion SMA - это стратегия, использующая простое движущееся среднее и относительно сильный индикатор. Эта стратегия использует отклонение цены от движущейся средней на определенную величину, в сочетании с фильтрующим сигналом RSI, чтобы создать сигнал покупки и продажи, и относится к стратегии короткой линии.
Эта стратегия основана на следующих правилах:
Когда 2-х периодов простой скользящий средний снижается на 3% по сравнению с 5-х периодов простой скользящий средний, считается, что цена акции отклоняется от средней стоимости, создавая сигнал покупки;
Когда 2-х периодов простой перемещающейся средней линии проходит 5-х периодов простой перемещающейся средней линии, рассматривается как цена возвращается к среднему значению, создавая сигнал продажи;
Индекс в сочетании с 5-кратным скользящим средним показателем RSI дает сигнал к покупке только тогда, когда RSI ниже 30, и сигнал к продаже только тогда, когда RSI выше 70, что позволяет избежать ненужных сделок.
Основная идея этой стратегии заключается в том, чтобы использовать колебания цен в краткосрочной перспективе, чтобы захватить возможность возвращения средней стоимости. При покупке, когда цена снижается на определенную величину, продажа при возвращении цены вблизи средней, чтобы получить прибыль.
Эта стратегия имеет следующие преимущества:
Простые операции, легкая реализация и низкая стоимость мониторинга;
Используя характеристики отклонения цен от скользящих средних, чтобы уловить возможность возвращения к среднему значению короткой линии, историческая отсчетная эффективность;
RSI эффективно отфильтровывает шумные сделки, чтобы избежать преследования высоких и низких;
Гибкость в настройке параметров для различных рыночных условий;
В зависимости от предпочтений, можно совершать только ликвидные сделки или двунаправленные сделки.
Однако эта стратегия также несет в себе некоторые риски:
Возвратная торговля зависит от того, сможет ли цена вернуться к средней, и в случае резкого изменения цены существует большой риск остановки убытков;
Неправильная настройка параметров может привести к слишком частым сделкам или упущенным возможностям;
Стратегические показатели имеют большую связь с рынком, а в поперечных и волатильных рынках они хуже.
Ответ:
Разумная установка стоп-лосса и контроль за одиночными потерями;
Постепенная оптимизация параметров для оценки соотношения прибыли и убытков;
Приспособность в сочетании со стратегией усиления индекса акций.
Эта стратегия может быть оптимизирована в следующих аспектах:
Испытание различных комбинаций скользящих средних для поиска оптимальных параметров;
Попытки повысить эффективность стратегии в сочетании с другими показателями, чтобы выявить тенденции;
Увеличение механизмов сдерживания убытков и снижение максимального отвода стратегии;
В частности, он отметил, что в стране существуют различные виды торговли, которые могут быть связаны с различными факторами.
Создание адаптивных параметров в сочетании с технологиями машинного обучения.
Двойная отклонение от среднего торговая стратегия является простой и практичной стратегией короткой средней обратной линии. Она использует отклонение цены относительно движущейся средней для создания торговых сигналов, а также отфильтровывает шум с помощью показателя RSI.
/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// @version=4
strategy("HYE Mean Reversion SMA [Strategy]", overlay = true )
//Strategy inputs
source = input(title = "Source", defval = close)
tradeDirection = input(title="Trade Direction", type=input.string,
options=["Long Only", "Short Only", "Both"], defval="Long Only")
smallMAPeriod = input(title = "Small Moving Average", defval = 2)
bigMAPeriod = input(title = "Big Moving Average", defval = 5)
percentBelowToBuy = input(title = "Percent below to buy %", defval = 3)
percentAboveToSell = input(title = "Percent above to sell %", defval = 3)
rsiPeriod = input(title = "Rsi Period", defval = 2)
rsiLevelforBuy = input(title = "Maximum Rsi Level for Buy", defval = 30)
rsiLevelforSell = input(title = "Minimum Rsi Level for Sell", defval = 70)
longOK = (tradeDirection == "Long Only") or (tradeDirection == "Both")
shortOK = (tradeDirection == "Short Only") or (tradeDirection == "Both")
// Make input options that configure backtest date range
startDate = input(title="Start Date", type=input.integer,
defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", type=input.integer,
defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", type=input.integer,
defval=2020, minval=1800, maxval=2100)
endDate = input(title="End Date", type=input.integer,
defval=31, minval=1, maxval=31)
endMonth = input(title="End Month", type=input.integer,
defval=12, minval=1, maxval=12)
endYear = input(title="End Year", type=input.integer,
defval=2021, minval=1800, maxval=2100)
inDateRange = true
//Strategy calculation
rsiValue = rsi(source, rsiPeriod)
rsiEMA = ema(rsiValue, 5)
smallMA = sma(source, smallMAPeriod)
bigMA = sma(source, bigMAPeriod)
buyMA = ((100 - percentBelowToBuy) / 100) * sma(source, bigMAPeriod)[0]
sellMA = ((100 + percentAboveToSell) / 100) * sma(source, bigMAPeriod)[0]
if(crossunder(smallMA, buyMA) and rsiEMA < rsiLevelforBuy and inDateRange and longOK)
strategy.entry("BUY", strategy.long)
if(crossover(smallMA, bigMA) or not inDateRange)
strategy.close("BUY")
if(crossover(smallMA, sellMA) and rsiEMA > rsiLevelforSell and inDateRange and shortOK)
strategy.entry("SELL", strategy.short)
if(crossunder(smallMA, bigMA) or not inDateRange)
strategy.close("SELL")