Trata-se de uma estratégia de negociação de curto prazo baseada na ruptura do momentum e na reversão média. Incorpora múltiplos indicadores, incluindo média móvel, padrões de velas, volume e volatilidade para identificar oportunidades direcionais com momentum de ruptura para capturar tendências de curto prazo.
Utilize a EMA de 3 dias como linha de média móvel de referência.
O preço de abertura é superior ao preço OHLC do dia anterior (média dos preços de abertura, alta, baixa e fechamento).
O volume é inferior ao volume do dia anterior, o que mostra um ímpeto insuficiente, o que favorece uma ruptura direcional (Cond03).
O preço de fechamento rompe a faixa de preços do dia anterior.
Quando estiverem preenchidas todas as 4 condições acima, vá para longo (Entradas).
Regras de saída: posição fechada se as barreiras desde a entrada excederem 10 ou se o lucro máximo alcançar 5 (Saidas).
Esta estratégia combina múltiplos indicadores para determinar a direção de ruptura do mercado para capturar tendências de curto prazo.
O uso de múltiplos indicadores ajuda a filtrar falhas e a identificar falhas válidas.
Impulso insuficiente favorece a ruptura direcional e a ignição da tendência, permitindo capturar oportunidades direcionais mais claras.
A alta frequência de negociação é adequada para negociações de curto prazo para obter pequenos lucros rápidos.
O stop loss e o take profit razoáveis permitem uma perda e um controlo de risco efetivos numa única transação.
As negociações abertas simultâneas representam riscos de excesso de negociação.
As definições dos parâmetros estáticos podem ser demasiado rígidas.
Existe a probabilidade de falhas, o que pode levar a perdas de negócios.
Concentre-se apenas em informações de curto prazo sem compreensão abrangente das principais tendências.
O ponto de stop-loss pode ser muito apertado, podemos considerar alargar para 20 a 30 bares.
Incorporar a determinação de tendências para evitar a negociação contra as principais tendências.
Otimizar as configurações de parâmetros. Período EMA, parâmetros de ruptura podem ser testados e otimizados para atender a diferentes condições de mercado. Parâmetros adaptativos também podem ser usados para ajustes automáticos.
Melhorar as condições. Outros indicadores auxiliares como A / D, largura da banda de Bollinger, RSI podem ser adicionados para verificar a validade da quebra e reduzir as falhas.
Testes de retorno extensivamente, inspecionar o desempenho sob condições de mercado extremas.
Otimize os mecanismos de stop loss. Considere a perda de stop de trail, perda de stop percentual, perda de stop adaptativa, etc. para tornar as paradas mais flexíveis.
Esta estratégia integra EMA, volume, volatilidade e outros indicadores para identificar oportunidades de curto prazo com impulso. É uma estratégia de breakout de curto prazo típica com retornos frequentes e operações ágeis para bloquear lucros rápidos. Mas se concentra demais em informações recentes sem compreensão abrangente das principais tendências. Podemos otimizá-lo incorporando fatores de tendência, otimizando parâmetros, melhorando a validade do breakout, testando condições extremas para tornar a estratégia mais robusta e adaptável.
/*backtest start: 2023-10-01 00:00:00 end: 2023-10-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Free Strategy #01 (ES / SPY)", overlay=true) // Inputs Quantity = input(1, minval=1, title="Quantity") EmaPeriod = input(3, minval=1, title="EMA Period") MaxProfitCloses = input(5, minval=1, title="Max Profit Close") MaxBars = input(10, minval=1, title="Max Total Bars") // Misc Variables src = close BarsSinceEntry = 0 MaxProfitCount = 0 Ema = ema(close, EmaPeriod) OHLC = (open + high + low + close) / 4.0 // Conditions Cond00 = strategy.position_size == 0 Cond01 = close < Ema Cond02 = open > OHLC Cond03 = volume <= volume[1] Cond04 = (close < min(open[1], close[1]) or close > max(open[1], close[1])) // Update Exit Variables BarsSinceEntry := Cond00 ? 0 : nz(BarsSinceEntry[1]) + 1 MaxProfitCount := Cond00 ? 0 : (close > strategy.position_avg_price and BarsSinceEntry > 1) ? nz(MaxProfitCount[1]) + 1 : nz(MaxProfitCount[1]) // Entries strategy.entry(id="L1", long=true, qty=Quantity, when=(Cond00 and Cond01 and Cond02 and Cond03 and Cond04)) // Exits strategy.close("L1", (BarsSinceEntry - 1 >= MaxBars or MaxProfitCount >= MaxProfitCloses))