Esta estrategia aprovecha la tendencia bajista mediante la construcción de posiciones cortas gradualmente basadas en promedios móviles e indicadores RSI.
Cuando el precio de cierre está por debajo de la media móvil simple de 100 días y el RSI es mayor que 30, vaya corto. Luego, establezca el stop loss por encima del precio de entrada en un 3% y tome ganancias por debajo del precio de entrada en un 2%. El stop loss más amplio permite más volatilidad para evitar paradas innecesarias. Cierre la posición cuando el precio supera el stop loss o cae por debajo del take profit.
En la plataforma Coinrule, establezca varias órdenes de venta secuenciales para construir la posición gradualmente. Cuando la tendencia bajista persista, aumente el tamaño de la posición.
Cada operación está conectada con una orden de stop loss y take profit. Los porcentajes están optimizados para monedas de media capitalización. Puede ajustar basándose en monedas específicas. A medida que se negocia junto con la tendencia, la relación stop loss y take profit como 1:1.5 podría funcionar.
Stop loss al 3% por encima del precio de entrada Obtener ganancias un 2% por debajo del precio de entrada Un stop loss ligeramente más grande tolera más volatilidad.
Esta estrategia captura efectivamente la tendencia bajista basada en MA y RSI. La construcción gradual de posiciones controla el riesgo mientras que el stop loss y take profit aseguran la resistencia. Optimizando aún más la relación riesgo-recompensación ajustando los parámetros de stop loss/take profit. Hay margen para mejoras en los parámetros y el control de riesgos. Pero en general, una sólida estrategia corta a corto plazo.
/*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)