A estratégia de ruptura de 1 minuto da floresta de gemas é uma estratégia quantitativa de negociação que visa capturar sinais de ruptura dentro de um período de tempo de 1 minuto para obter lucros rápidos.
Esta estratégia utiliza principalmente os seguintes elementos para formar sinais comerciais:
Especificamente, a estratégia calcula a média de N períodos de ATR, EMA rápida, EMA lenta, RSI rápida e RSI lenta. Combinando as condições de quebra de preço do canal ATR, cruz de ouro da EMA e RSI atingindo níveis extremos, a estratégia envia sinais de compra ou venda.
As principais vantagens desta estratégia são:
Há também alguns riscos:
Para controlar os riscos, deve ser implementado o stop loss, e os parâmetros precisam de backtests adequados para evitar o sobreajuste.
A estratégia pode ser otimizada através de:
Configuração dos parâmetros de ensaio durante períodos mais curtos (5 min, 15 min);
Adicionar mais indicadores de filtragem como volume para melhorar a qualidade do sinal;
Otimizar os parâmetros do canal ATR e da média móvel para encontrar as melhores combinações de parâmetros.
A estratégia de ruptura de 1 minuto da floresta de gemas concentra-se em capturar tendências de curto prazo através da filtragem com múltiplos indicadores, com resposta rápida e características de alto risco-recompensa. Pode ser adaptada às preferências de risco dos usuários através da otimização de parâmetros para melhores resultados. No entanto, os usuários devem controlar os riscos de negociação por meio de stop loss rigorosos, frequências de negociação razoáveis, etc. No geral, esta estratégia é adequada para investidores com certo conhecimento de negociação quantitativa e tolerância ao risco para negociação de curto prazo.
/*backtest start: 2023-02-12 00:00:00 end: 2024-02-18 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Gem Forest 1 Dakika Scalp", overlay=true) source = close atrlen = input.int(14, "ATR Period") mult = input.float(1, "ATR Multi", step=0.1) smoothing = input.string(title="ATR Smoothing", defval="WMA", options=["RMA", "SMA", "EMA", "WMA"]) ma_function(source, atrlen) => if smoothing == "RMA" ta.rma(source, atrlen) else if smoothing == "SMA" ta.sma(source, atrlen) else if smoothing == "EMA" ta.ema(source, atrlen) else ta.wma(source, atrlen) atr_slen = ma_function(ta.tr(true), atrlen) upper_band = atr_slen * mult + close lower_band = close - atr_slen * mult ShortEMAlen = input.int(21, "Fast EMA") LongEMAlen = input.int(65, "Slow EMA") shortSMA = ta.ema(close, ShortEMAlen) longSMA = ta.ema(close, LongEMAlen) RSILen1 = input.int(25, "Fast RSI Length") RSILen2 = input.int(100, "Slow RSI Length") rsi1 = ta.rsi(close, RSILen1) rsi2 = ta.rsi(close, RSILen2) atr = ta.atr(atrlen) RSILong = rsi1 > rsi2 RSIShort = rsi1 < rsi2 longCondition = open < lower_band shortCondition = open > upper_band GoldenLong = ta.crossover(shortSMA,longSMA) Goldenshort = ta.crossover(longSMA,shortSMA) plotshape(shortCondition, title="Sell Label", text="Sell", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.new(color.red, 0), textcolor=color.white) plotshape(longCondition, title="Buy Label", text="Buy", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.new(color.green, 0), textcolor=color.white) plotshape(Goldenshort, title="Golden Sell Label", text="Golden Crossover Short", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.new(color.blue, 0), textcolor=color.white) plotshape(GoldenLong, title="Golden Buy Label", text="Golden Crossover Long", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.new(color.yellow, 0), textcolor=color.white) if (longCondition) stopLoss = low - atr * 2 takeProfit = high + atr * 5 strategy.entry("long", strategy.long) if (shortCondition) stopLoss = high + atr * 2 takeProfit = low - atr * 5 strategy.entry("short", strategy.short) plot(upper_band) plot(lower_band) plot(shortSMA, color = color.red) plot(longSMA, color = color.yellow)