Динамическая стратегия EMAherokuapp


Дата создания: 2023-12-07 17:20:44 Последнее изменение: 2023-12-07 17:20:44
Копировать: 0 Количество просмотров: 621
1
Подписаться
1619
Подписчики

Динамическая стратегия EMAherokuapp

Обзор

Эта стратегия сочетает в себе EMA и RSI, которые идентифицируют короткие возможности для корректировки биткоина. Она использует EMA в качестве основной графики и RSI в качестве вспомогательного индикатора для поиска более заметных форм корректировки. Она создает торговый сигнал, когда цена падает или восстанавливается на равновесной линии EMA.

Стратегический принцип

Эта стратегия использует в основном 50-циклическую линию EMA и 25-циклический RSI. Линия EMA рассматривается как основной графический индикатор, RSI используется для определения перекупа и перепродажи и для создания торговых сигналов. Когда цена сверху вниз прорывает линию EMA, она создает сигнал продажи; когда цена сверху вниз прорывает линию EMA, и индикатор RSI показывает сигнал неперекупа (если RSI меньше 70), он создает сигнал покупки.

После входа в сделку, стратегия одновременно устанавливает стоп- и стоп-позиции. Стоп-линия может быть установлена по умолчанию на 5,1%; стоп-линия также может быть установлена по умолчанию на 9,6%. Это позволяет эффективно снизить максимальное значение убытков на одну сделку.

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

Анализ преимуществ

Основные преимущества этой стратегии:

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

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

  3. Стратегические параметры могут быть оптимизированы. Длина EMA, длина RSI и т. Д. являются регулируемыми параметрами, пользователи могут найти оптимальную комбинацию параметров для разных рынков.

  4. Политика допускает обратную связь. Время для обратной связи может быть установлено непосредственно в политике, чтобы проверить политику.

Анализ рисков

Однако эта стратегия несет в себе определенные риски, главным образом в следующих аспектах:

  1. BT биткойн рынок бурный, стоп-убытки могут быть преодолены. Несмотря на то, что стратегия установила стоп-убытки, но в биткойн крупных условиях, цена движется больше, стоп-убыток может быть прямо преодолена. Это приводит к большим потерям.

  2. Риск отмены. Стратегия не учитывает контроль отмены в целом. При более длительной корректировке стратегия может привести к некоторому отступлению.

  3. Сигнальный эффект при макроэкономической конъюнктуре ухудшается. В сравнительно дикой макроэкономической конъюнктуре, цена биткоина может иметь более крупную и длинную волну. В этом случае краткосрочный сигнальный эффект ухудшается и легко поддается на обману.

В ответ на эти риски можно принять следующие меры для их контроля и смягчения:

  1. Примерно 10% - чтобы предотвратить слишком легкий прорыв.

  2. В сочетании с другими показателями фильтрации. Можно добавить такие показатели тренда, как среднелинейный многоголовый ряд, чтобы избежать использования этой стратегии в долгосрочной корректировке тенденций.

  3. Оптимизация набора параметров. Можно тестировать параметры на различных этапах рынка, создавать несколько комбинаций параметров, переключать параметры в случае возникновения крупных ситуаций для улучшения качества сигнала.

Направление оптимизации

В этой стратегии есть место для дальнейшей оптимизации, в основном в следующих аспектах:

  1. Увеличение общего контроля за выводом. Можно установить максимальную долю вывода, например, 20%, и при достижении этой доли стратегия приостанавливает торговлю, чтобы избежать чрезмерных потерь.

  2. Увеличение частоты открытия позиций. Можно ограничить количество открытий позиций за единицу времени стратегии, например, не более двух раз в час, чтобы избежать слишком частых торгов.

  3. Оптимизация параметров. Тестирование комбинации параметров в различных рыночных условиях, создание нескольких шаблонов параметров, выбор подходящих параметров в реальном времени в соответствии с текущими условиями может повысить эффективность стратегии.

  4. Использование в сочетании с другими индикаторами. Эта стратегия может использоваться в сочетании с другими индикаторами, такими как тенденции, волатильность и т. д., чтобы сформировать более полную и надежную основу для входа в торговую систему.

Подвести итог

В целом, эта стратегия в основном зависит от краткосрочной корректировки BTC, используя EMA и RSI для создания более четких торговых сигналов, а также имея контроль за остановками и остановками, она может эффективно использовать возможности для арбитража, вызванные краткосрочными скольжениями BTC. Однако эта стратегия более подходит для использования в качестве вспомогательного инструмента для короткой линии, и эффективнее, когда она используется в комбинации с другими стратегиями, и может создавать более стабильную сверхприбыль.

Исходный код стратегии
/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 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/
// © mmoiwgg

//@version=4
strategy(title="EMA+RSI Pump & Drop Swing Sniper (With Alerts & SL+TP) - Strategy", shorttitle="EMA+RSI Swing Strategy", overlay=true)
emaLength = input(title="EMA Length", type=input.integer, defval=50, minval=0)
emarsiSource = input(close, title="EMA+RSI Source")
condSource = input(high, title="Long+Short Condition Source")
emaVal = ema(emarsiSource, emaLength)
rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0)
rsiVal = rsi(emarsiSource, rsiLength)

//Safety 
emaLength2 = input(title="Safety EMA Length", type=input.integer, defval=70, minval=0)
emaSource2 = input(close, title="Safety EMA Source")
ema = ema(emaSource2, emaLength2)
emaColorSource2 = close
emaBSource2 = close

// Backtest+Dates
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2019, title = "From Year", minval = 2017)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
showDate  = input(defval = true, title = "Show Date Range", type = input.bool)
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)        // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest end window
window()  => time >= start and time <= finish ? true : false       // create function - add window() to entry/exit/close

// Conditions
exit_long = crossover(emaVal, condSource)
longCond = crossunder(emaVal, condSource) and close > ema

//Stoploss + TakeProfit
sl = input(0.051, step=0.001, title="Stop Loss")
tp = input(0.096, step=0.001, title="Take Profit")

// Plots Colors
colors = emarsiSource > emaVal and rsiVal > 14 ? color.green : color.red
emaColorSource = input(close, title="Line Color Source")
emaBSource = input(close, title="Line Color B Source")

// Plots
plot(ema, color=emaColorSource2[1] > ema and emaBSource2 > ema ? color.green : color.red, linewidth=1)
plot(emaVal, color=emaColorSource[1] > emaVal and emaBSource > emaVal ? color.green : color.red, linewidth=3)
plotcandle(open, high, low, close, color=colors)


//Strategy Entry+Exits
strategy.entry("long",1,when=window() and longCond)
strategy.close("long",when=window() and exit_long)
strategy.exit("long tp/sl", "long", profit = close * tp / syminfo.mintick, loss = close * sl / syminfo.mintick)