
Эта стратегия использует индикатор RSI, чтобы идентифицировать тенденции и перепродажи, в сочетании с средней линией EMA, чтобы определить направление текущей тенденции, открыть позицию в обратном направлении, когда направление тенденции совпадает с сигналом RSI, чтобы осуществить короткую линию.
Используйте показатель EMA для определения направления текущей тенденции. Когда цена выше средней линии EMA, она определяется как тенденция к росту; когда цена ниже средней линии EMA, она определяется как тенденция к снижению.
RSI используется для определения перекупа и перепродажи. RSI выше 60 - это зона перекупа, а ниже 40 - зона перепродажи.
Сигналы “покупаю” и “продаю” появляются, когда RSI ниже 40 и RSI выше 60.
При выпуске сигнала покупки и продажи, устанавливаются стоп-стоп и стоп-лосс. Стоп-стоп рассчитывается в соответствии с определенной пропорцией к цене открытия позиции; стоп-лосс рассчитывается в соответствии с определенной пропорцией к цене открытия позиции.
При позиции больше 0, устанавливается стоп-ордер; при позиции меньше 0, устанавливается стоп-ордер.
Стратегия разумного использования показателей EMA и RSI для выявления тенденций и перепродажи сверхпокупателей, чтобы избежать контрастной торговли.
Стратегия использует обратную торговлю короткой линией, которая позволяет использовать возможность получения прибыли.
Стратегия установления стоп-стоп-лосс помогает блокировать прибыль и контролировать риски.
Стратегическая торговля логика четкая, понятная, легко понятная и подходит для начинающих.
Стратегия может быть оптимизирована с помощью корректировки циклов EMA, параметров RSI и т. Д., Чтобы адаптироваться к различным видам и торговым условиям.
Риск неудачи поворота. Неудача поворота на короткой линии может привести к убыткам.
Неочевидный тренд риска. В условиях колебаний EMA трудно определить четкое направление тренда, что может привести к ошибочному сигналу.
Риск, что сбой будет вызван. Если сбой будет установлен слишком близко, он может быть случайно вызван.
Риск переоптимизации. Переоптимизация для исторических данных может быть неприемлема для реального диска.
Слишком высокая частота сделок рискованна. Слишком высокая частота сделок на коротких линиях может привести к значительным торговым сборам.
Оптимизируйте параметры EMA и RSI, чтобы найти оптимальную комбинацию параметров.
Добавление условий фильтрации, чтобы избежать ошибочного сигнала при шокирующих явлениях. Например, добавление условий загрузки.
Оптимизируйте Stop Loss Ratio, найдите оптимальный коэффициент для блокировки прибыли. Stop Loss Ratio не должен быть слишком большим, его можно снять.
Добавление стратегий управления позициями, таких как фиксированные позиции, Мартингель и т.д., для контроля одиночных убытков.
В сочетании с другими показателями, такими как MACD, KD и т. д., повышается точность сигнала │ или оптимизируется для многофакторной модели │
Проводить обратную проверку на реальные данные, постоянно оптимизировать параметры, чтобы стратегия адаптировалась к новейшим реалиям.
Эта стратегия основана на показателях EMA и RSI, использует логику торговли, основанную на определении тренда и выявлении перекупа и перепродажи, и одновременно устанавливает риск контроля стоп-стоп. Преимущество этой стратегии заключается в том, что она проста в использовании, логика ясна, и благодаря оптимизации параметров можно получить лучшие результаты обратной оценки.
/*backtest
start: 2023-10-24 00:00:00
end: 2023-10-31 00:00:00
period: 5m
basePeriod: 1m
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/
// © Sarahann999
//@version=5
strategy("RSI Strategy", shorttitle="RSI", overlay= false)
//Inputs
long_entry = input(true, title='Long Entry')
short_entry = input(true, title='Short Entry')
emaSettings = input(100, 'EMA Length')
ema = ta.ema(close,emaSettings)
rsi = ta.rsi(close,14)
//Conditions
uptrend = close > ema
downtrend = close < ema
OB = rsi > 60
OS = rsi < 40
buySignal = uptrend and OS and strategy.position_size == 0
sellSignal = downtrend and OB and strategy.position_size == 0
//Calculate Take Profit Percentage
longProfitPerc = input.float(title="Long Take Profit", group='Take Profit Percentage',
minval=0.0, step=0.1, defval=1) / 100
shortProfitPerc = input.float(title="Short Take Profit",
minval=0.0, step=0.1, defval=1) / 100
// Figure out take profit price 1
longExitPrice = strategy.position_avg_price * (1 + longProfitPerc)
shortExitPrice = strategy.position_avg_price * (1 - shortProfitPerc)
// Make inputs that set the stop % 1
longStopPerc = input.float(title="Long Stop Loss", group='Stop Percentage',
minval=0.0, step=0.1, defval=1.5) / 100
shortStopPerc = input.float(title="Short Stop Loss",
minval=0.0, step=0.1, defval=1.5) / 100
// Figure Out Stop Price
longStopPrice = strategy.position_avg_price * (1 - longStopPerc)
shortStopPrice = strategy.position_avg_price * (1 + shortStopPerc)
// Submit entry orders
if buySignal and long_entry
strategy.entry(id="Long", direction=strategy.long, alert_message="Enter Long")
if sellSignal and short_entry
strategy.entry(id="Short", direction=strategy.short, alert_message="Enter Short")
//Submit exit orders based on take profit price
if (strategy.position_size > 0)
strategy.exit(id="Long TP/SL", limit=longExitPrice, stop=longStopPrice, alert_message="Long Exit 1 at {{close}}")
if (strategy.position_size < 0)
strategy.exit(id="Short TP/SL", limit=shortExitPrice, stop=shortStopPrice, alert_message="Short Exit 1 at {{close}}")
//note: for custom alert messages to read, "{{strategy.order.alert_message}}" must be placed into the alert dialogue box when the alert is set.
plot(rsi, color= color.gray)
hline(40, "RSI Lower Band")
hline(60, "RSI Upper Band")