Esta estratégia é um sistema de negociação automatizado baseado na teoria dupla de cruzamento da média móvel com funcionalidade de gerenciamento de risco integrada.
A lógica básica é baseada na teoria clássica de cruzamento da média móvel na análise técnica. O sistema gera um sinal de alta e entra em uma posição longa quando a EMA de curto prazo (21-período) cruza acima da EMA de longo prazo (50-período), e, inversamente, gera um sinal de baixa e entra em uma posição curta quando a EMA de curto prazo cruza abaixo da EMA de longo prazo. Cada sinal de negociação define automaticamente os níveis de stop loss e take profit, com configurações padrão de 40 ticks para stop loss e 80 ticks para take profit.
Esta é uma estratégia de negociação automatizada bem projetada com lógica clara. Combinando sinais de cruzamento de média móvel com gestão de risco rigorosa, a estratégia fornece uma estrutura técnica confiável para capturar as tendências do mercado, garantindo a segurança da negociação.
/*backtest start: 2024-10-01 00:00:00 end: 2024-10-31 23:59:59 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("EMA Crossover Strategy with SL & TP", overlay=true, default_qty_type=strategy.percent_of_equity) // Input settings for SL and TP (ticks) slTicks = input.int(40, title="Stop Loss (ticks)", minval=1) tpTicks = input.int(80, title="Take Profit (ticks)", minval=1) // Define EMA periods ema21 = ta.ema(close, 21) ema50 = ta.ema(close, 50) // Detect crossovers bullishCross = ta.crossover(ema21, ema50) bearishCross = ta.crossunder(ema21, ema50) // Plot the EMAs plot(ema21, color=color.green, linewidth=2, title="EMA 21") plot(ema50, color=color.red, linewidth=2, title="EMA 50") // Calculate tick size in points var float tickSize = syminfo.mintick // Calculate stop loss and take profit prices for long and short positions longSL = close - slTicks * tickSize longTP = close + tpTicks * tickSize shortSL = close + slTicks * tickSize shortTP = close - tpTicks * tickSize // Execute trades on crossover signals if (bullishCross) strategy.entry("Long", strategy.long) strategy.exit("Exit Long", "Long", stop=longSL, limit=longTP) if (bearishCross) strategy.entry("Short", strategy.short) strategy.exit("Exit Short", "Short", stop=shortSL, limit=shortTP) // Plot arrows on crossovers plotshape(series=bullishCross, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY", size=size.small) plotshape(series=bearishCross, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL", size=size.small) // Optional: Background coloring bgcolor(bullishCross ? color.new(color.green, 90) : na, title="Bullish Background") bgcolor(bearishCross ? color.new(color.red, 90) : na, title="Bearish Background")