Стратегия короткого трейдинга в нисходящем тренде

Автор:Чао Чжан, Дата: 2023-11-07 17:06:59
Тэги:

img

Обзор

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

Логика стратегии

Когда цена закрытия ниже 100-дневной простой скользящей средней, а RSI больше 30, перейдите на короткую позицию. Затем установите стоп-лосс выше цены входа на 3% и возьмите прибыль ниже цены входа на 2%. Широкий стоп-лосс позволяет больше волатильности, чтобы избежать ненужных остановок. Закройте позицию, когда цена превышает стоп-лосс или падает ниже take profit.

На платформе Coinrule устанавливайте несколько последовательных ордеров продажи для постепенного наращивания позиции. Когда тенденция к снижению сохраняется, увеличивайте размер позиции. Установление временного интервала между ордерами также помогает контролировать общий размер позиции.

Каждая сделка связана с ордером стоп-лосса и ордером прибыли. Проценты оптимизированы для монет средней капитализации. Вы можете корректировать на основе конкретной монеты. Поскольку он торгуется вместе с трендом, соотношение стоп-лосса и прибыли, как 1:1,5 может работать.

Стоп-лосс на 3% выше цены входа Получить прибыль на 2% ниже входной цены Немного большее количество стоп-лосса допускает большее изменение.

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

  • MA хорошо оценивает направление тренда, замечая тенденцию к снижению вовремя
  • РСИ фильтр избегает слепого короткого
  • Постепенное формирование позиций контролирует риск максимально с лучшим соотношением риск-вознаграждение
  • Стоп-потеря и получение прибыли обеспечивают выносливость для каждой сделки

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

  • Острый переход на V может привести к серьезным потерям.
  • Необходимо внимательно следить за ценой для корректировки стоп-лосса и получения прибыли
  • Денежный рычаг должен быть разумным для контроля размера позиции
  • Стратегия паузы на неспокойном рынке избегает ненужных потерь

Руководство по оптимизации

  • Испытание MA с различными параметрами
  • Испытать комбинации RSI с различными параметрами
  • Корректировать коэффициенты стоп-лосса и прибыли для оптимизации соотношения риск-вознаграждение
  • Испытать различные временные интервалы между приказами для контроля размера позиции

Резюме

Эта стратегия эффективно улавливает нисходящий тренд, основанный на MA и RSI. Постепенное наращивание позиций контролирует риск, в то время как стоп-лосс и прибыль обеспечивают выносливость. Дальнейшая оптимизация соотношения риск-вознаграждение путем корректировки параметров стоп-лосса / прибыли. Есть возможности для улучшения параметров и контроля риска. Но в целом солидная краткосрочная краткосрочная стратегия.


/*backtest
start: 2022-10-31 00:00:00
end: 2023-11-06 00:00:00
period: 1d
basePeriod: 1h
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/
// © Coinrule

//@version=4
strategy(shorttitle='Short In Downtrend',title='Short In Downtrend Below MA100', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100)

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 10,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2019, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true       // create function "within window of time"

//MA inputs and calculations
inSignal=input(50, title='MASignal')

MA= sma(close, inSignal)

// RSI inputs and calculations
lengthRSI = input(14, title = 'RSI period', minval=1)
RSI = rsi(close, lengthRSI)


//Entry 
strategy.entry(id="short", long = false, when = close < MA and RSI > 30)

//Exit
shortStopPrice  = strategy.position_avg_price * (1 + 0.03)
shortTakeProfit = strategy.position_avg_price * (1 - 0.02)

strategy.close("short", when = close > shortStopPrice or close < shortTakeProfit and window())


plot(MA, color=color.purple, linewidth=2)


Больше