Эта стратегия использует понижающийся тренд путем постепенного формирования коротких позиций на основе скользящей средней и индикаторов RSI.
Когда цена закрытия ниже 100-дневной простой скользящей средней, а RSI больше 30, перейдите на короткую позицию. Затем установите стоп-лосс выше цены входа на 3% и возьмите прибыль ниже цены входа на 2%. Широкий стоп-лосс позволяет больше волатильности, чтобы избежать ненужных остановок. Закройте позицию, когда цена превышает стоп-лосс или падает ниже take profit.
На платформе Coinrule устанавливайте несколько последовательных ордеров продажи для постепенного наращивания позиции. Когда тенденция к снижению сохраняется, увеличивайте размер позиции. Установление временного интервала между ордерами также помогает контролировать общий размер позиции.
Каждая сделка связана с ордером стоп-лосса и ордером прибыли. Проценты оптимизированы для монет средней капитализации. Вы можете корректировать на основе конкретной монеты. Поскольку он торгуется вместе с трендом, соотношение стоп-лосса и прибыли, как 1:1,5 может работать.
Стоп-лосс на 3% выше цены входа Получить прибыль на 2% ниже входной цены Немного большее количество стоп-лосса допускает большее изменение.
Эта стратегия эффективно улавливает нисходящий тренд, основанный на 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)