
Эта стратегия называется RSI-MA и использует индикатор RSI и среднюю линию MA для определения ценового тренда и выпуска торгового сигнала. Торговые сигналы создаются, когда индикатор RSI превышает установленные верхние и нижние значения, а средняя линия MA используется для фильтрации ложных сигналов и выпускает сигналы, когда цена продолжает расти или падать. Это может эффективно отфильтровывать шокирующую ситуацию, сохраняя при этом определенное пространство для прибыли.
Стратегия основана на использовании RSI и средней линии MA. RSI используется для определения перепродажи, а MA - для определения направления тренда.
Рассчитывается значение RSI и устанавливается верхний 90 и нижний 10 ̨. Если RSI превышает 90, то это сигнал о перекупке, а если он меньше 10, то это сигнал о перепродаже.
Вычислить среднюю MA за определенный период (например, 4 дня). Когда цена продолжает расти, MA выходит вверх; когда цена продолжает падать, MA выходит вниз.
Когда RSI превышает 90 одновременно с MA, делайте позицию; когда RSI меньше 10, одновременно с MA, делайте позицию.
Стоп-страх устанавливается на фиксированное количество очков в каждой руке, стоп-стаж - на фиксированный процент в каждой руке.
Эта стратегия в сочетании с двумя фильтрами RSI и MA позволяет эффективно отфильтровывать ложные сигналы в условиях шока. При этом, используя настройки RSI, можно избежать слишком поздних сигналов и гарантировать определенный пробел. Используйте MA для определения направления тенденции и избегайте противоположных сделок. Кроме того, параметры стратегии просты, легко понять и оптимизировать.
Основные риски этой стратегии:
Внезапные события приводят к резкому падению или резкому росту, и RSI и MA не реагируют, что может привести к большим потерям.
В шокирующих ситуациях RSI и MA могут часто посылать сигналы, что приводит к увеличению торговых сборов и стоимости скольжения из-за слишком частых торгов.
Неправильная настройка параметров также может повлиять на эффективность стратегии, например, если RSI устанавливается слишком широко, то сигнал задерживается, а если он устанавливается слишком узко, то сигнал слишком часто.
В этой стратегии мы можем сделать следующие улучшения:
Тестирование и оптимизация в соответствии с различными сортами и циклическими параметрами для установки оптимального сочетания параметров.
Добавление других комбинаций показателей, таких как KDJ, BOLL и т. Д., Установление более строгих условий фильтрации, уменьшение вероятности ошибочных сделок.
Установка адаптивных механизмов остановки убытков, например, динамическая корректировка цены остановки в зависимости от волатильности и ATR.
Добавление алгоритмов машинного обучения для автоматической корректировки параметров стратегии в зависимости от рыночных условий и динамической оптимизации параметров.
Эта стратегия RSI-MA в целом является более простой и практичной, но в сочетании с отслеживанием тенденций и суждением о перекупке и перепродаже, она может принести лучшую прибыль в хорошей рыночной среде. Но также существует риск ошибочной торговли с определенной вероятностью, которая требует дальнейшей оптимизации для снижения риска и повышения стабильности.
/*backtest
start: 2023-11-10 00:00:00
end: 2023-12-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
//This strategy is best used with the Chrome Extension AutoView for automating TradingView alerts.
//You can get the AutoView extension for FREE using the following link
//https://chrome.google.com/webstore/detail/autoview/okdhadoplaoehmeldlpakhpekjcpljmb?utm_source=chrome-app-launcher-info-dialog
strategy("4All", shorttitle="Strategy", overlay=false)
src = close
len = input(4, minval=1, title="Length")
up = rma(max(change(src), 0), len)
down = rma(-min(change(src), 0), len)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
plot(rsi, color=purple)
band1 = hline(90)
band0 = hline(10)
fill(band1, band0, color=purple, transp=90)
rsin = input(5)
sn = 100 - rsin
ln = 0 + rsin
short = crossover(rsi, sn)
long = crossunder(rsi, ln)
strategy.entry("long", strategy.long, when=long)
strategy.entry("short", strategy.short, when=short)
TP = input(15) * 10
SL = input(23) * 10
TS = input(0) * 10
CQ = 100
TPP = (TP > 0) ? TP : na
SLP = (SL > 0) ? SL : na
TSP = (TS > 0) ? TS : na
strategy.exit("Close Long", "long", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)
strategy.exit("Close Short", "short", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)