
Visão geral
A estratégia baseia-se na teoria das ondas de Elliott e tenta detectar automaticamente as ondas de pulso. Ela define as ondas de pulso ascendentes procurando por 4 combinações de linhas K de aumento de preços de fechamento consecutivos e com o preço de fechamento atual acima do preço de fechamento de 9 dias atrás; define as ondas de pulso descendentes com a lógica inversa.
Princípio da estratégia
- Defina o número de ciclos de alta/baixa de fechamento consecutivos (consclos ((default 3)) e o número de dias (daysago ((default 9)) em que o fechamento atual é comparado com o fechamento anterior a N dias.
- As variáveis long_cc e short_cc são usadas para registrar se a linha K da raiz de conclusão mais recente é positiva/negativa, sendo 1 caso seja contínua e 0 caso não seja.
- Comparando o preço de fechamento atual com o preço de fechamento do dia anterior ao dia de daysago, se o preço atual for mais alto/mais baixo, long_daysago/short_daysago é verdadeiro.
- A combinação de long_cc, short_cc e long_daysago, short_daysago, resultam em sinais de long e short.
- Desenhe os triângulos verdes e vermelhos correspondentes aos sinais long e short.
- Se surgir um sinal long e não houver mais posições de cabeça no momento, abra mais e defina o preço de parada como o ponto baixo da linha K do sinal.
- Se um sinal de curto aparecer e não houver posição de cabeça vazia no momento, a posição será vazia e o preço de parada será o ponto mais alto da linha K do sinal.
Análise de vantagens
- A capacidade de reconhecer automaticamente os pulsos da teoria das ondas de Elliott, reduzindo a influência da análise subjetiva.
- A estratégia é capaz de capturar situações como essa, em que as ondas de pulso costumam ser acompanhadas por uma forte tendência.
- A configuração do stop loss está em linha com a tendência, aumentando a taxa de ganhos e perdas.
- O blogueiro também escreveu sobre a possibilidade de encontrar oportunidades de ingresso antes do início da tendência.
- Parâmetros ajustáveis e de alta aplicabilidade.
Análise de Riscos
- A interpretação da teoria das ondas pode ter sido distorcida, levando a um erro de interpretação.
- A duração da tendência é imprevisível, e é possível que o ponto de parada seja colocado muito perto para causar uma parada.
- O mercado de câmbio pode falhar, gerando transações frequentes.
- Falta de consideração em termos de gestão de posições e gestão de fundos.
Direção de otimização
- A precisão do sinal pode ser melhorada através da retrospectiva de configurações de optimização dos parâmetros consclos e daysago.
- A introdução de indicadores de confirmação de tendências, como o MACD, reduz o ruído.
- Considere a inclusão de stop loss móvel para melhor proteger os lucros.
- A partir de agora, os investidores poderão investir em uma pequena quantidade de ativos quando a tendência for incerta, e em uma quantidade maior quando a tendência for clara.
- Controlar posições e riscos, como por exemplo, limitar a proporção de capital para uma única transação, definir o máximo de retirada, etc.
Resumir
A estratégia baseia-se na clássica teoria das ondas de Elliott, capaz de capturar uma forte tendência, com uma certa aplicabilidade e potencial de lucro. Mas a própria teoria das ondas é subjetiva e a definição de pulsos, etc., pode afetar o desempenho da estratégia. Na aplicação prática, é necessário prestar atenção a questões como otimização de posições de parâmetros, gerenciamento de posições e redução da frequência de negociação.
Código-fonte da estratégia
/*backtest
start: 2023-04-20 00:00:00
end: 2024-04-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Smollet
//@version=5
strategy("LW: 4-9 indicator", overlay = true)
consclos = input.int(3, "Consecutive close")
daysago = input.int(9, "Days ago")
var int long_cc = 0
var int short_cc = 0
long_cc := 1
short_cc := 1
for i = 1 to consclos
long_cc := close[i-1] > close[i] ? long_cc*1 : long_cc*0
short_cc := close[i-1] < close[i] ? short_cc*1 : short_cc*0
long_daysago = close > close[daysago]
short_daysago = close < close[daysago]
long = long_cc ==1 and long_daysago
short = short_cc ==1 and short_daysago
plotshape(long, style=shape.triangleup, location=location.belowbar, color=color.green)
plotshape(short, style=shape.triangledown, location=location.abovebar, color=color.red)
//Strategy code
if long and strategy.position_size <= 0
strategy.entry("Long", strategy.long)
strategy.exit("Long SL", "Long", stop = low)
if short and strategy.position_size >= 0
strategy.entry("Short", strategy.short)
strategy.exit("Short SL", "Short", stop = high)