Esta é uma estratégia de scalping de 5 minutos destinada a capturar oscilações de preços e volatilidade de curto prazo nos mercados de Bitcoin e Ouro para gerar lucros.
A estratégia usa indicadores de EMA rápida e EMA lenta para construir um sistema de julgamento da tendência. Um sinal de compra é gerado quando a EMA rápida cruza acima da EMA lenta; Um sinal de venda é gerado quando a EMA rápida cruza abaixo da EMA lenta, capturando a volta das tendências de curto prazo.
Ao mesmo tempo, a estratégia incorpora o indicador Bollinger Bands para julgar a faixa de flutuação de preços. Os sinais de negociação só são gerados quando o preço está perto do trilho superior ou médio das Bandas de Bollinger. Isso filtra a maioria dos sinais falsos.
Após a entrada no mercado, a estratégia usa o indicador ATR para calcular o preço de stop loss.
A maior vantagem desta estratégia é capturar oscilações de curto prazo e volatilidade de preços, obtendo lucros pequenos, mas consistentes, sempre.
Além disso, o prazo de 5 minutos leva a uma maior frequência de negociação, o que também amplia seu potencial de lucro.
O principal risco desta estratégia vem de whipssaws que levam a perdas pequenas múltiplas.
Além disso, como uma estratégia de scalping de curto prazo, enfrenta também o risco de custos de negociação decorrentes da alta frequência de negociação.
A estratégia pode ser otimizada das seguintes formas:
Adicionar outros osciladores como indicadores de julgamento auxiliares, como RSI, Estocástico, etc., para evitar ficar preso em mercados oscilantes.
Aumentar os modelos de aprendizagem de máquina para julgar a direção da tendência e melhorar a precisão de entrada.
Usar algoritmos genéticos, florestas aleatórias e outros métodos para otimizar automaticamente os parâmetros para se adequarem melhor às condições atuais do mercado.
Incorporar aprendizagem profunda para determinar os principais níveis de suporte e resistência e definir melhores posições de stop loss.
Teste diferentes veículos de negociação, como índices de ações, forex, criptomoedas, etc., e selecione o que tiver o melhor desempenho comercial como principal veículo de negociação.
Em resumo, como uma estratégia de negociação frequente de curto prazo, esta estratégia pode capturar efetivamente oscilações de preços de curto prazo e inversões de tendência usando EMA rápida para julgar, Bandas de Bollinger para filtrar e ATR para stop loss para controlar riscos, permitindo ganhos constantes.
/*backtest start: 2023-12-19 00:00:00 end: 2024-01-10 00:00:00 period: 1h basePeriod: 15m 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/ // © singhak8757 //@version=5 strategy("Bitcoin and Gold 5min Scalping Strategy2.0", overlay=true) // Input parameters fastLength = input(5, title="Fast EMA Length") slowLength = input(13, title="Slow EMA Length") bollingerLength = input(20, title="Bollinger Band Length") bollingerMultiplier = input(2, title="Bollinger Band Multiplier") stopLossMultiplier = input(1, title="Stop Loss Multiplier") // Calculate EMAs fastEMA = ta.ema(close, fastLength) slowEMA = ta.ema(close, slowLength) // Calculate Bollinger Bands basis = ta.sma(close, bollingerLength) upperBand = basis + bollingerMultiplier * ta.stdev(close, bollingerLength) lowerBand = basis - bollingerMultiplier * ta.stdev(close, bollingerLength) // Buy condition buyCondition = ta.crossover(fastEMA, slowEMA) and (close <= upperBand or close <= basis) // Sell condition sellCondition = ta.crossunder(fastEMA, slowEMA) and (close >= lowerBand or close >= basis) // Calculate stop loss level stopLossLevel = ta.lowest(low, 2)[1] - stopLossMultiplier * ta.atr(14) // Plot EMAs plot(fastEMA, color=color.rgb(0, 156, 21), title="Fast EMA") plot(slowEMA, color=color.rgb(255, 0, 0), title="Slow EMA") // Plot Bollinger Bands plot(upperBand, color=color.new(#000000, 0), title="Upper Bollinger Band") plot(lowerBand, color=color.new(#1b007e, 0), title="Lower Bollinger Band") // Plot Buy and Sell signals plotshape(series=buyCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar) plotshape(series=sellCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar) // Plot Stop Loss level plot(stopLossLevel, color=color.orange, title="Stop Loss Level") // Strategy logic strategy.entry("Buy", strategy.long, when = buyCondition) strategy.exit("Stop Loss/Close", from_entry="Buy", loss=stopLossLevel) strategy.close("Sell", when = sellCondition)