
Visão geral
Esta estratégia é uma estratégia de negociação de acompanhamento de tendências baseada em um sistema de dupla equilíbrio, combinando indicadores de média móvel de índice (EMA) na análise técnica, para comprar através da definição de um limite de preço em uma posição de EMA20. A estratégia usa um método de gestão de fundos conservador, fazendo transações com apenas 10% do lucro da conta a cada vez, e configura um stop loss para controlar o risco. A estratégia usa uma média móvel de índice de dois períodos de 30 dias e 300 dias para determinar a tendência do mercado e só busca oportunidades quando o mercado está em uma tendência ascendente.
Princípio da estratégia
A lógica central da estratégia baseia-se nos seguintes pontos-chave:
- Usando o EMA300 como um indicador de tendência, só se considera a abertura de uma posição quando o preço está acima do EMA300, o que garante que a direção da negociação esteja em consonância com a tendência principal.
- A estratégia define um limite de preço de compra na posição EMA20 após a satisfação das condições de tendência, o que permite a construção de posições a preços relativamente baixos quando o preço retorna ao suporte da linha média.
- A estratégia usa uma configuração de stop-loss com um percentual fixo de stop-loss, sendo o stop-loss padrão de 10% do preço de entrada e o stop-loss de 5% do preço de entrada, garantindo que a relação de risco-retorno por transação seja maior que 2:1.
- A administração de fundos utiliza 10% do capital da conta para o controle de posições, uma forma conservadora de reduzir eficazmente o risco de um único negócio.
Vantagens estratégicas
- Características de acompanhamento de tendências: Combinando com a média de curto e longo prazo, a estratégia permite identificar e acompanhar de forma eficiente as tendências do mercado, aumentando a taxa de sucesso das negociações.
- Controle de risco perfeito: o risco de cada transação é controlado efetivamente com o uso de regras fixas de stop loss e de gerenciamento de fundos.
- Otimização do preço de entrada: Use a lista de preços limite para armazenar na posição EMA20 para obter um melhor preço de entrada e aumentar o lucro geral.
- Alto grau de automação: estratégias totalmente sistematizadas, reduzindo a interferência emocional causada por julgamentos humanos.
- Gestão de fundos racional: a utilização de uma proporção fixa de direitos e interesses da conta para a negociação permite o aumento da rentabilidade dos fundos.
Risco estratégico
- Risco de mercado em choque: Em mercados em choque horizontal, a estratégia pode frequentemente desencadear um stop loss, resultando em perdas contínuas.
- Risco de deslizamento: o limite pode não ser totalmente negociado, ou um deslizamento maior pode ocorrer em caso de forte flutuação.
- Risco de reversão de tendência: Apesar de usar a média de longo prazo como filtro de tendência, é possível sofrer grandes perdas no início da reversão de tendência.
- Problemas de eficiência financeira: devido à gestão de fundos mais conservadora, pode não ser possível aproveitar as oportunidades de lucro em um cenário de forte crescimento.
Direção de otimização da estratégia
- Stop loss dinâmico: pode ser ajustado de acordo com a dinâmica da taxa de flutuação do mercado para aumentar a adaptabilidade da estratégia.
- Confirmação de tendências múltiplas: adicionar outros indicadores técnicos como RSI ou MACD como confirmação auxiliar, aumentando a confiabilidade do sinal de entrada.
- Filtragem de cenários de mercado: adicionar indicadores de volatilidade como o ATR, ajustar parâmetros de estratégia em diferentes cenários de mercado ou suspender a negociação.
- Optimização da gestão de fundos: pode ser considerado o ajuste dinâmico do volume de negociação com base no rendimento da conta, aumentando moderadamente a posição quando lucrativo.
- Melhorias no mecanismo de entrada: pode ser considerado o estabelecimento de uma faixa de preços próxima à EMA20 para aumentar as oportunidades de transação.
Resumir
A estratégia, combinando um sistema de linhas uniformes em análise técnica e regras rigorosas de controle de risco, constrói um sistema de negociação relativamente robusto. O principal benefício da estratégia reside em suas características de acompanhamento de tendências e no mecanismo de gerenciamento de risco perfeito, otimizando o preço de entrada por meio de preços limitados, enquanto o risco é controlado por meio de uma gestão de fundos conservadora. Embora a estratégia possa ter um fraco desempenho em mercados turbulentos, a direção de otimização recomendada pode melhorar ainda mais a estabilidade e a lucratividade da estratégia.
Código-fonte da estratégia
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-09 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Limit Buy at EMA20 (Last 30 Days)", overlay=true)
// Inputs for EMAs
ema20Length = input.int(30, title="EMA 20 Length")
ema300Length = input.int(300, title="EMA 300 Length")
tpPercentage = input.float(10.0, title="Take Profit (%)", step=0.1) / 100
slPercentage = input.float(5.0, title="Stop Loss (%)", step=0.1) / 100 // Stop loss at 15%
// Calculate EMAs
ema20 = ta.ema(close, ema20Length)
ema300 = ta.ema(close, ema300Length)
// Plot EMAs
plot(ema20, color=color.blue, title="EMA 20")
plot(ema300, color=color.red, title="EMA 300")
// Limit backtesting to the last 30 days
startTime = timestamp(year(timenow), month(timenow), dayofmonth(timenow) - 30, 0, 0)
if (time < startTime)
strategy.close_all()
strategy.cancel_all()
// Entry Condition: Price above EMA300
longCondition = close > ema300 and time >= startTime
// Calculate position size (10% of equity)
positionSize = strategy.equity * 0.10 / ema20 // Use EMA20 as the limit price
// Place a limit buy order at EMA20
if (longCondition)
strategy.order("Limit Buy", strategy.long, qty=positionSize, limit=ema20)
// Calculate TP and SL levels
tpPrice = ema20 * (1 + tpPercentage)
slPrice = ema20 * (1 - slPercentage)
// Set take profit and stop loss
if (strategy.position_size > 0)
strategy.exit("Take Profit/Stop Loss", "Limit Buy", stop=slPrice, limit=tpPrice)