Esta estratégia implementa uma estratégia de negociação de alta frequência baseada no indicador de Bollinger Bands. Determina as bandas de Bollinger superior e inferior calculando o desvio padrão e a média móvel dos preços. Quando o preço toca a faixa média, são executadas negociações longas ou curtas. Cada negociação investe todo o capital com uma faixa de lucro de 0,5%. Esta estratégia é adequada para pares de negociação altamente voláteis e exchanges sem taxas.
A estratégia usa o indicador Bollinger Bands para determinar se os preços atingiram níveis de sobrecompra ou sobrevenda. As bandas consistem em uma banda superior, banda inferior e banda média. A banda do meio é uma média móvel simples de n dias de preços. A banda superior é a banda do meio mais k vezes o desvio padrão de n dias de preços. A banda inferior é a banda do meio menos k vezes o desvio padrão. k é geralmente definido como 2.
Esta estratégia define o período de Bollinger para 20 dias e k para 2. Quando os preços tocam a faixa média, ele sinaliza os preços reverter de áreas extremas, gerando sinais de negociação. O sinal longo é acionado quando os preços cruzam acima da faixa média. O sinal curto é acionado quando os preços caem abaixo da faixa média.
Quando as posições são inseridas, todo o capital é investido (incluindo o capital próprio e o lucro/perda flutuante).
As vantagens desta estratégia são as seguintes:
Usar Bandas de Bollinger para identificar sinais de negociação é mais eficaz na detecção de extremos do que médias móveis simples.
A abordagem de alta frequência obtém rapidamente lucros em ciclos comerciais curtos.
Investir todo o capital maximiza o potencial de lucro.
A definição de um intervalo de lucro efetivamente gerencia o risco e bloqueia os ganhos.
Existem também alguns riscos:
As bandas de Bollinger são sensíveis aos parâmetros de entrada.
A negociação de alta frequência requer trocas de taxas zero, caso contrário, as taxas corroem os lucros.
Investir todo o capital é arriscado, os eventos do cisne negro podem desencadear grandes perdas.
Uma faixa de lucros reduzida aumenta a frequência das transacções e a complexidade operacional.
Soluções:
Otimizar os parâmetros de Bollinger para encontrar configurações ideais.
Usem trocas de taxas zero como a Binance Spot.
Definição de perdas de parada para limitar a perda máxima.
Ampliar a gama de lucros para reduzir a frequência do comércio.
Esta estratégia pode ser melhorada:
Adicionando indicadores de volume como Volume no Balanço para filtrar falsificações.
Otimizando os parâmetros de Bollinger para encontrar as melhores combinações.
Utilizando intervalos de stop loss e take profit adaptativos, por exemplo, ampliando os intervalos à medida que as negociações ou ganhos se acumulam.
Incorporar modelos de aprendizagem de máquina para prever sinais de compra/venda.
Evitar negociações em torno de eventos importantes como relatórios de lucros baseados em fundamentos.
Esta é uma estratégia de alta frequência que usa Bandas de Bollinger para geração de sinal, dimensionamento completo de posições e pequenos lucros.
/*backtest start: 2022-12-14 00:00:00 end: 2023-12-20 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Estrategia Bollinger Bands", shorttitle="BB Strategy", overlay=true) // Parámetros de las Bandas de Bollinger length = input(20, title="Longitud") mult = input(2.0, title="Multiplicador") // Calcula las Bandas de Bollinger basis = ta.sma(close, length) upper_band = basis + mult * ta.stdev(close, length) lower_band = basis - mult * ta.stdev(close, length) // Condiciones para realizar operaciones price_touches_basis_up = ta.crossover(close, basis) price_touches_basis_down = ta.crossunder(close, basis) // Monto inicial de inversión monto_inicial = 10 // Lógica de la estrategia if (price_touches_basis_up) qty = strategy.equity + strategy.netprofit // Invertir el total del capital más las ganancias en cada operación direction = close > basis ? strategy.long : strategy.short strategy.entry("Operacion", direction, qty = 1) // Lógica para cerrar la operación con un movimiento del 0.5% (take profit) target_profit = 0.005 // Actualizado a 0.5% if (strategy.position_size != 0) direction = strategy.position_size > 0 ? strategy.long : strategy.short strategy.exit("Take Profit/Close", from_entry = "Operacion", profit = close * (1 + target_profit)) // Dibuja las Bandas de Bollinger en el gráfico plot(upper_band, color=color.blue, title="Upper Band") plot(lower_band, color=color.red, title="Lower Band") plot(basis, color=color.green, title="Basis") // Muestra el monto inicial de inversión en la barra del título var label lbl = label.new(na, na, "") label.set_text(lbl, "Monto Inicial: $" + str.tostring(monto_inicial, "#.########")) label.set_xy(lbl, bar_index, low) label.set_color(lbl, color.new(color.blue, 0))