Esta é uma estratégia quantitativa de negociação que combina tendência EMA, breakout de números redondos e filtragem de sessão de negociação. A estratégia depende principalmente da direção da tendência EMA, juntamente com padrões de breakout de preços em níveis chave de números redondos como sinais de negociação, ao mesmo tempo em que incorpora filtragem de sessão para melhorar a qualidade do comércio. A estratégia emprega stop-loss e take-profit baseados em porcentagem para gerenciamento de risco.
A lógica central inclui os seguintes elementos-chave: 1. Usa a EMA de 20 dias como ferramenta de identificação de tendências, apenas indo muito acima da EMA e curto abaixo 2. Procurar padrões de engulfamento perto de números redondos principais (intervalos de 5 dólares) 3. Apenas negocia durante as sessões de Londres e Nova Iorque para evitar períodos de baixa volatilidade 4. Os sinais longos exigem: padrão de engulfing de alta, preço acima da EMA, sessão de negociação ativa 5. Os sinais curtos exigem: padrão de engulfing de baixa, preço abaixo da EMA, sessão de negociação ativa Implementa 1% stop-loss e 1,5% take-profit risco-recompensa relação para a gestão do comércio
A estratégia constrói um sistema de negociação logicamente rigoroso, combinando múltiplos mecanismos, incluindo tendências de EMA, padrões de preços e filtragem de sessão. Embora tenha certas limitações, a otimização e refinamento contínuos podem potencialmente melhorar a estabilidade e lucratividade da estratégia. A estratégia serve como uma base sólida para um sistema de seguimento de tendências de médio a longo prazo, adequado para personalização com base em requisitos comerciais específicos.
/*backtest start: 2024-12-17 00:00:00 end: 2025-01-16 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=6 strategy("The Gold Box Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=200) // Inputs roundNumberInterval = input.int(5, title="Round Number Interval ($)", minval=1) useEMA = input.bool(true, title="Use 20 EMA for Confluence") emaLength = input.int(20, title="EMA Length") // Session times for London and NY londonSession = input("0300-1200", title="London Session (NY Time)") nySession = input("0800-1700", title="New York Session (NY Time)") // EMA Calculation emaValue = ta.ema(close, emaLength) // Plot Round Number Levels roundLow = math.floor(low / roundNumberInterval) * roundNumberInterval roundHigh = math.ceil(high / roundNumberInterval) * roundNumberInterval // for level = roundLow to roundHigh by roundNumberInterval // line.new(x1=bar_index - 1, y1=level, x2=bar_index, y2=level, color=color.new(color.gray, 80), extend=extend.both) // Session Filter inLondonSession = not na(time("1", londonSession)) inNYSession = not na(time("1", nySession)) inSession = true // Detect Bullish and Bearish Engulfing patterns bullishEngulfing = close > open[1] and open < close[1] and close > emaValue and inSession bearishEngulfing = close < open[1] and open > close[1] and close < emaValue and inSession // Entry Conditions if bullishEngulfing strategy.entry("Long", strategy.long, comment="Bullish Engulfing with EMA Confluence") if bearishEngulfing strategy.entry("Short", strategy.short, comment="Bearish Engulfing with EMA Confluence") // Stop Loss and Take Profit stopLossPercent = input.float(1.0, title="Stop Loss (%)", minval=0.1) / 100 takeProfitPercent = input.float(1.5, title="Take Profit (%)", minval=0.1) / 100 strategy.exit("Exit Long", "Long", stop=close * (1 - stopLossPercent), limit=close * (1 + takeProfitPercent)) strategy.exit("Exit Short", "Short", stop=close * (1 + stopLossPercent), limit=close * (1 - takeProfitPercent))