DAKELAX-XRPUSDT é uma estratégia de bot de negociação para XRPUSDT na Binance. É uma estratégia simples de inverso para o meio usando Bandas de Bollinger, e tem um bom desempenho em backtest no período de tempo H1 de maio a agosto de 2019, bem como em execução ao vivo.
A estratégia primeiro calcula a SMA de 20 períodos e as Bandas de Bollinger superiores/inferiores. A banda superior é a SMA + 1,5 desvio padrão, e a banda inferior é a SMA - 2,2 desvio padrão.
Quando o preço de fechamento está abaixo da faixa inferior, ele vai longo com 20 moedas. Quando o fechamento está acima da faixa superior, ele fecha todas as posições.
A estratégia também calcula a linha rápida da EMA de 7 períodos e a linha lenta da EMA de 18 períodos.
Considere o dimensionamento dinâmico da posição ou o stop loss para controlar os riscos. Otimize a estratégia de crossover para evitar falhas em mercados variados. Adicione indicadores de tendência de prazo maior para identificar movimentos maiores.
Ajustar o montante da compra com base na largura da banda, menos quando contratado e mais quando expandido
Considere acumular posições quando a contração é vista mas o sinal ainda não foi desencadeado
Adicionar indicador de tendência de prazo mais longo para determinar a direção geral, pausar a estratégia quando não estiver claro
Incorporar stop loss para controlar o risco, pode definir perto de baixas recentes das faixas
Otimizar parâmetros de cruzamento como períodos EMA para evitar ficar preso
DAKELAX-XRPUSDT é uma estratégia de bot de negociação usando contração de Bollinger Band com crossover EMA. É intuitivo e tem bons resultados de backtest, mas contém alguns riscos. Estes podem ser reduzidos através do dimensionamento de posição, estratégia de parada, adição de stop loss e otimização de lógica de crossover.
/*backtest start: 2022-10-26 00:00:00 end: 2023-11-01 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //study(title="Tradebotler DAKELAX Binance:XRPUSDT Study-strategy", overlay=true) strategy(title="Tradebotler DAKELAX Binance:XRPUSDT Strategy", overlay=true) buyAmount = input(20, minval=1) // SMA20 len2 = input(20, minval=1) src2 = input(close) out2 = sma(src2, len2) // BB contraction value (medium tight) contraction_value = 1.3 // BB contraction value (very tight) contraction_value2 = 0.1 // 2xSTDEV BB calculation dev = stdev(src2, len2) upper_BB = out2 + 1.5*dev lower_BB = out2 - 2.2*dev x1 = plot(upper_BB, color=blue, linewidth = 2) x2 = plot(lower_BB, color=blue, linewidth = 2) contraction = (upper_BB-lower_BB)/out2 //fills the BBands according to the contraction value (threshold) // Calculate values fastMA = ema(close, 7) slowMA = ema(close, 18) // Determine alert setups crossUp = crossover(fastMA, slowMA) crossDown = crossunder(fastMA, slowMA) buySignal = (crossUp or crossUp[1]) and (low > slowMA) shortSignal = (crossDown or crossDown[1]) and (high < slowMA) // Highlight alerts on the chart bgColour = (buySignal and barstate.isrealtime) ? green : (shortSignal and barstate.isrealtime) ? red : na signalBuy = (buySignal ) ? true : false signalSell = (shortSignal ) ? true : false test = true test := not test[1] closesBelowLowerBB = close < lower_BB closesAboveUpperBB = close > upper_BB tmptext = "blah" // Plot values plot(series=fastMA, color=teal) plot(series=slowMA, color=orange) plot(out2, color=black, linewidth = 1) fill(x1, x2, color = contraction > contraction_value ? black : contraction < contraction_value2 ? yellow: red) isInRed = contraction < contraction_value and contraction >= contraction_value2 isInYellow = contraction < contraction_value and contraction < contraction_value2 if ( closesBelowLowerBB ) strategy.order('Buy', strategy.long, buyAmount) if ( closesAboveUpperBB ) strategy.close_all()