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


Data de criação: 2023-11-07 17:06:59 última modificação: 2023-11-07 17:06:59
cópia: 0 Cliques: 641
1
focar em
1617
Seguidores

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

Visão geral

Esta estratégia usa médias móveis e indicadores relativamente fortes para determinar a direção da tendência do mercado e, gradualmente, estabelece posições curtas em tendências de baixa para obter lucro.

Princípio da estratégia

Quando o preço de fechamento estiver abaixo da média móvel simples de 100 dias e o RSI for maior que 30, faça uma entrada em branco. Em seguida, defina uma linha de parada e uma linha de parada, com a parada acima de 3% do preço de entrada e a parada abaixo de 2% do preço de entrada.

Na plataforma Coinrule, você pode configurar ordens de venda em sequência múltipla para construir posições gradualmente. Quando o mercado continua a cair, aumente gradualmente a posição. Configurar intervalos de tempo de pedidos também ajuda a controlar a posição total.

A estratégia conecta um stop loss e um stop loss para cada transação. A taxa de stop loss e a taxa de stop loss são otimizadas para moedas de mercado intermediário. Você pode fazer ajustes de acordo com a moeda específica.

Stop loss de 3% do preço de entrada 2% do preço de entrada Um pouco maior do que o Stop Loss Ratio pode tolerar uma maior oscilação e evitar um Stop Loss desnecessário.

Análise de vantagens

  • Usando a média móvel para determinar a direção da tendência do mercado, pode capturar a tendência de queda em tempo hábil.
  • A filtragem de indicadores relativamente fracos pode evitar o vazio cego
  • O aumento gradual da posição permite o controle máximo do risco e uma melhor relação risco-recompensa.
  • Estabelecer um stop loss para garantir que cada transação seja tolerável

Análise de Riscos

  • A reversão de tendência em V pode levar a maiores perdas
  • “É preciso acompanhar de perto as tendências e ajustar os preços de stop loss em tempo hábil”.
  • A necessidade de um controle razoável do tamanho da posição, sem o uso excessivo de alavancagem
  • A estratégia pode ser suspensa para evitar perdas desnecessárias em situações de grandes tremores.

Direção de otimização

  • Indicadores de médias móveis que testam diferentes parâmetros
  • Combinação de indicadores RSI para testar diferentes parâmetros
  • Pode ajustar a proporção de stop loss e stop loss para otimizar a relação risco-receita
  • Pode testar diferentes intervalos de tempo para controlar o tamanho da posição

Resumir

Esta estratégia baseia-se em uma média móvel para determinar a direção da tendência, a filtragem do indicador RSI para determinar o momento específico de entrada, capaz de capturar efetivamente a tendência de queda. O método de acumulação gradual permite controlar o risco, a configuração de um stop loss para garantir a capacidade de sustentabilidade de uma única transação.

Código-fonte da estratégia
/*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)