Estratégia de grandes altos e baixos


Data de criação: 2023-11-06 15:48:22 última modificação: 2023-11-06 15:48:22
cópia: 0 Cliques: 633
1
focar em
1617
Seguidores

Estratégia de grandes altos e baixos

Visão geral

A estratégia de grande salto e queda é uma estratégia de entrada por detecção de um grande volume de luz solar. Quando detecta-se um grande volume de luz solar, faça um vazio e, quando detecta-se um grande volume de luz solar, faça mais. O stop loss está localizado no ponto mais baixo da coluna que acionou o sinal (… e vice-versa), o stop loss é o dobro do stop loss.

Princípio da estratégia

A lógica central da estratégia é:

  1. Calcule o intervalo de variação total da linha K atual (exemplo: ponto alto - ponto baixo) e o tamanho da entidade (exemplo: o preço de fechamento é maior do que o preço de abertura e é positivo, e o inverso é negativo)

  2. Calcule a média da amplitude de flutuação no passado em N raiz K

  3. Para determinar se a linha K atual é satisfatória: a amplitude de oscilação é >= o número x da amplitude de oscilação média e o tamanho da entidade é >= o número de sistemas reais mínimos da amplitude de oscilação x

  4. O sinal de disparo que satisfaz as condições acima é: o fio de sol é vazio, o fio de sol é excessivo

  5. Pode ser selecionado para ativar ou não o stop loss: o stop loss é o ponto mais baixo do pilar de sinal, acrescido de uma amplitude de oscilação de várias vezes o coeficiente de stop loss; o stop loss é o dobro do stop loss

Filtrar o segmento de linha no julgamento da entidade, para garantir que haja força suficiente; Calcular dinamicamente a amplitude de flutuação média, evitando que o valor fixo de queda não possa se adaptar às mudanças no mercado; Configurar o stop loss para um retorno razoável, ajustável por coeficientes.

Vantagens estratégicas

A maior vantagem da estratégia é que ela capta sinais de reversão de tendência de alta qualidade, baseados em dois julgamentos principais:

  1. A grande quantidade de sinais positivos e negativos indica que a tendência já se mostrou forte no início, então é provável que seja um ponto de viragem estrutural em toda a tendência.

  2. Computação dinâmica da amplitude média das oscilações para garantir a captura de oscilações anormais além dos níveis normais e, assim, filtrar a tendência de regressão normal

Além disso, a configuração do Stop Loss Stop também é muito razoável, o que permite controlar efetivamente o Stop Loss individual, enquanto a taxa de retorno do Stop Loss é de 1, sem perseguir demais a queda.

Em geral, a estratégia conseguiu localizar pontos de inflexão estrutural de alta qualidade, permitindo uma operação de alta eficiência. Isso é ideal para os traders que seguem tendências, evitando ficar presos no processo intermediário.

Risco estratégico

Os principais riscos da estratégia vêm de dois lados:

  1. A queda da barragem pode ter sido um impedimento para a captação, criando um sinal ineficaz.

  2. A configuração de parada de perdas é muito frouxa e não permite um controle eficaz das perdas.

Para o primeiro risco, pode-se filtrar a taxa de erro de julgamento, aumentando a amplitude mínima de oscilação e o tamanho da entidade, mas também perder algumas oportunidades. É necessário encontrar o ponto de equilíbrio de acordo com os resultados das avaliações.

O segundo risco pode ser otimizado por meio de um ajuste no coeficiente de stop loss para que o stop loss fique mais próximo do suporte, mas não muito apertado. Além disso, deve-se considerar aumentar a taxa de retorno do stop loss para compensar os danos causados pelo stop loss.

Direção de otimização da estratégia

A estratégia também pode ser melhorada em alguns aspectos:

  1. Aumentar o julgamento da direção da tendência e evitar operações de contra-corrente

  2. Optimizar configurações de parâmetros para encontrar a melhor combinação de parâmetros

  3. Aumentar a quantidade de transações filtradas para garantir que a transação entre os raios X e Y seja elevada o suficiente

  4. Considerar a inclusão de mais filtros, como plataformas, blurb, etc., para reduzir a probabilidade de julgamentos errados

  5. Testar o efeito dos parâmetros de diferentes variedades e otimizá-los

  6. Adição de rastreamento de stop loss, permitindo que o stop loss seja ajustado dinamicamente com base no movimento dos preços

  7. Considerar a inclusão de reentrada, ou seja, reentrada após a primeira parada

Otimizando os pontos acima, a estratégia pode ser mais eficaz, o que realmente aumenta a probabilidade de lucro. É necessário fazer um bom teste e otimização para encontrar os melhores parâmetros.

Resumir

A estratégia de alta e baixa taxa de ganhos de alta eficiência através da captura de uma grande quantidade de raios X e Y, com um parâmetro de parada de perdas. Ela conseguiu localizar oportunidades de reversão estruturadas de alta qualidade, que podem fornecer informações muito valiosas para os comerciantes de tendência.

Código-fonte da estratégia
/*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")