Estratégia de negociação a curto prazo em tendência de baixa

Autora:ChaoZhang, Data: 2023-11-07 17:06:59
Tags:

img

Resumo

Esta estratégia aproveita a tendência de queda construindo posições curtas gradualmente com base na média móvel e nos indicadores RSI.

Estratégia lógica

Quando o preço de fechamento está abaixo da média móvel simples de 100 dias e o RSI é maior que 30, vá curto. Em seguida, defina o stop loss acima do preço de entrada em 3% e tire lucro abaixo do preço de entrada em 2%. O stop loss mais amplo permite mais volatilidade para evitar paradas desnecessárias. Feche a posição quando o preço ultrapassa o stop loss ou cai abaixo do take profit.

Na plataforma Coinrule, defina várias ordens de venda sequenciais para construir a posição gradualmente. Quando a tendência de queda persistir, aumente o tamanho da posição.

Cada negociação está conectada com uma ordem de stop loss e take profit. As percentagens são otimizadas para moedas de mid-cap. Você pode ajustar com base em moeda específica. Como ele negocia junto com a tendência, stop loss e take profit ratio como 1:1.5 poderia funcionar.

Stop loss a 3% acima do preço de entrada Obter lucro a 2% abaixo do preço de entrada Um stop loss ligeiramente maior tolera mais volatilidade.

Análise das vantagens

  • A MA avalia bem a direcção da tendência, detectando a tendência de queda a tempo
  • O filtro RSI evita a queda cega
  • Controlo gradual da construção de posições com risco máximo e melhor relação risco/recompensa
  • Parar perdas e obter lucros garantir a resistência para cada negociação

Análise de riscos

  • Uma inversão acentuada do V pode levar a grandes perdas.
  • Precisa monitorar o preço de perto para ajustar o stop loss e o take profit
  • A alavancagem deve ser razoável para controlar o tamanho da posição
  • Estratégia de pausa no mercado agitado evita perdas desnecessárias

Orientações de otimização

  • MA de ensaio com diferentes parâmetros
  • Combinações de RSI de ensaio com parâmetros diferentes
  • Ajustar os rácios de stop loss e take profit para otimizar o risco-recompensa
  • Teste diferentes intervalos de tempo entre as ordens para controlar o tamanho da posição

Resumo

Esta estratégia capta efetivamente a tendência de queda baseada em MA e RSI. A construção gradual de posições controla o risco, enquanto o stop loss e o take profit garantem a resistência. A otimização adicional da relação risco-recompensa por ajuste dos parâmetros stop loss/take profit. Há espaço para melhorias nos parâmetros e controle de risco. Mas, em geral, uma sólida estratégia curta de curto prazo.


/*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)


Mais.