Estratégia de grande onda e grande queda

Autora:ChaoZhang, Data: 2023-11-06 15:48:22
Tags:

img

Resumo

A estratégia Big Surge Big Fall detecta enormes velas de alta e baixa para entrar em posições. Ele vai curto quando detecta um enorme velas de alta e vai longo quando detecta um enorme velas de baixa. O stop loss é colocado abaixo do mínimo do velas de sinal (e vice-versa para longo), e o take profit é definido em 1 vezes o stop loss. Os usuários podem definir o tamanho mínimo de velas de alta / baixa, e o múltiplo da faixa média de barras em certos períodos.

Estratégia lógica

A lógica central desta estratégia é a seguinte:

  1. Calcular a faixa de candelabro atual (alto - baixo) e o tamanho do corpo do candelabro (positivo se fechado > aberto, negativo se fechado < aberto)

  2. Calcular a faixa média ao longo dos últimos N candelabros

  3. Verifique se o candelabro atual satisfaz: intervalo >= intervalo médio x múltiplo E tamanho do corpo >= intervalo x min coeficiente de tamanho do corpo

  4. Se as condições acima estiverem preenchidas, um sinal é acionado: vá curto no candelabro de alta, vá longo no candelabro de baixa

  5. Opção para habilitar o stop loss e o take profit: stop loss a baixo e com coeficiente de stop loss x; take profit a 1 x stop loss

O filtro do tamanho do corpo exclui o doji. A faixa média dinâmica adapta-se às mudanças do mercado. O stop loss e take profit permite um controle razoável do drawdown.

Vantagens

A maior vantagem desta estratégia é a captação de sinais de inversão de tendência de alta qualidade, com base em dois julgamentos:

  1. O enorme candelabro de alta / baixa provavelmente indica que uma tendência está esgotada após um movimento prolongado

  2. O intervalo anormalmente grande que excede a média dinâmica confirma a significância

Além disso, as configurações de stop loss e take profit são sensatas, permitindo um controle eficaz das perdas sem perseguir.

Em geral, esta estratégia consegue identificar pontos de virada estruturais de elevada qualidade, permitindo uma execução eficiente.

Riscos

Os principais riscos derivam de dois aspectos:

  1. Barras enormes poderiam ser a caça stop loss, criando sinais falsos

  2. O limite de perda pode ser demasiado elevado para controlar eficazmente a perda

Para o primeiro risco, a adição de filtros de tamanho mínimo pode reduzir os sinais falsos, mas também perder oportunidades.

Para o segundo risco, ajustar o coeficiente de stop loss pode otimizar as paradas perto dos suporte sem ser muito apertado.

Oportunidades de melhoria

Há várias formas de melhorar ainda mais esta estratégia:

  1. Adicionar filtro de direção da tendência para evitar negociações contra-tendência

  2. Otimizar parâmetros através de backtesting para encontrar a melhor combinação

  3. Adicionar filtro de volume para garantir alto volume em candelabros enormes

  4. Considere filtros adicionais como média móvel, Bandas de Bollinger para reduzir sinais falsos

  5. Parâmetros de ensaio em diferentes produtos para otimização

  6. Adicionar stop loss para ajustamento dinâmico baseado na ação do preço

  7. Considerar as oportunidades de reentrada após a perda de parada inicial

Com as melhorias acima, esta estratégia pode tornar-se muito mais eficaz e melhorar a probabilidade de lucro.

Conclusão

A estratégia Big Surge Big Fall lucrou com grandes reversões de velas com stop loss e take profit management. Identifica com sucesso pontos de virada estruturais de alta qualidade, fornecendo informações valiosas para os traders de tendência. Com a otimização de parâmetros e lógica, esta estratégia pode se tornar uma ferramenta prática de decisão. Sua lógica simples e economia intuitiva também a tornam fácil de entender e aplicar.


/*backtest
start: 2023-10-06 00:00:00
end: 2023-11-05 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/
// © tweakerID

// This strategy detects and uses big bars to enter a position. When the Big Bar 
// is bearish (red candle) the position will be long and viceversa
// for short positions. The stop loss (optional) is placed on the low of the 
// candle used to trigger the position and user inputs allow you to modify the
// size of the SL. Take profit is placed on a reward ratio of 1. User can also modify 
// the size of the bar body used to determine if we have a real Big Bar and
// filter out Doji bars. Big Bars are determined relative to the previous X period size, 
// which can also be modified, as well as the required size of the Big Bar relative to this period average.

//@version=4
strategy("Big Bar Strategy", overlay=false)

direction = input(0, title = "Direction (Long=1, Both=0, Short=-1 ", type=input.integer, minval=-1, maxval=1)
strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))

//Inputs
barsizemult=input(1, step=.1, title="SL Mult")
TPbarsizemult=input(1, step=.1, title="TP Mult")
barsizeThreshold=input(.5, step=.1, minval=.5, maxval=.9, title="Bar Body Size")
period=input(10)
mult=input(2, step=.2, title="Big Size Avg Mult to determine Big Bar")
i_reverse=input(false, title="Reverse Trades")
SLon=input(false, title="Use SL / TP")

//Calculations
barsize=high-low
barbodysize=close>open?(open-close)*-1:(open-close)
barsizeavg=sum(barsize, period)/period
bigbar=barsize >= barsizeavg*mult and barbodysize>barsize*barsizeThreshold

//Entry Logic
longCondition = close < open and bigbar //and strategy.position_size==0
shortCondition = close > open and bigbar //and strategy.position_size==0

//SL & TP Calculations
longTP=strategy.position_avg_price + (valuewhen(longCondition,barsize,0)*TPbarsizemult)
longSL=strategy.position_avg_price - (valuewhen(longCondition,barsize,0)*barsizemult)
shortTP=strategy.position_avg_price - (valuewhen(shortCondition,barsize,0)*TPbarsizemult)
shortSL=strategy.position_avg_price + (valuewhen(shortCondition,barsize,0)*barsizemult)
TP=strategy.position_size>0?longTP:shortTP
SL=strategy.position_size>0?longSL:shortSL

//Entries
if (longCondition)
    strategy.entry("long", long=not i_reverse?true:false)
    alert("Big Bar")
if (shortCondition)
    strategy.entry("short", long=not i_reverse?false:true)
    alert("Big Bar")
if SLon
    strategy.exit("SL & TP", "long", stop=SL, limit=TP)
    strategy.exit("SL & TP", "short", stop=SL, limit=TP)
    
// Plots
barcolor(bigbar ? color.white : na)
plot(barsizeavg, transp=100, title="Barsize Avg")
plot(barsize, transp=100, title="Bar Size")
plot(barbodysize, transp=100, title="Bar Body Size")
plot(SLon?TP:na, color=color.green, style=plot.style_cross, title="TP")
plot(SLon?SL:na, color=color.red, style=plot.style_cross, title="SL")
plotshape(longCondition ? 1 : na, style=shape.triangleup, location=location.belowbar, color=color.green, title="Bullish Setup")
plotshape(shortCondition ? 1 : na, style=shape.triangledown, location=location.abovebar, color=color.red, title="Bearish Setup")



Mais.