Esta estratégia identifica e acompanha tendências com base em indicadores de desvio de preço combinados com áreas de retração de Fibonacci.
A estratégia usa VWAP como a linha do ponto médio do preço. Em seguida, as faixas superior e inferior de 1.618 e 2.618 desvio padrão de flutuações de preços são calculadas. Um sinal longo é gerado quando o preço quebra a faixa inferior para cima. Um sinal curto é gerado quando o preço quebra a faixa superior para baixo.
Os sinais de stop loss EXIT após a abertura de posições longas ou curtas são: a linha de stop loss para posições longas é a faixa inferior, e para posições curtas é a faixa superior.
Concretamente, envolve as seguintes etapas:
Calcular o VWAP como linha do ponto médio do preço
Calcular o desvio-padrão sd do preço como indicador da volatilidade dos preços
Calcule as faixas superior e inferior com base em sd. As faixas superiores são VWAP + 1.618sd e VWAP + 2.618sd. As faixas inferiores são VWAP - 1.618sd e VWAP - 2.618Sd.
Um sinal longo é gerado quando o preço quebra a faixa inferior de 1,618 para cima. Um sinal curto é gerado quando o preço quebra a faixa superior de 1,618 para baixo.
EXIT de stop loss longo: o preço atravessa a faixa inferior de 2,618; EXIT de stop loss curto: o preço atravessa a faixa superior de 2,618.
A estratégia apresenta as seguintes vantagens:
Os indicadores de desvio de preços podem determinar eficazmente as tendências de preços e acompanhar as tendências
As áreas de retracement de Fibonacci tornam as saídas de entrada e stop loss mais claras
O VWAP como linha do ponto médio do preço também aumenta o valor de referência do indicador
Os parâmetros podem ser ajustados de acordo com diferentes produtos e prazos
A estratégia apresenta também alguns riscos:
Pode incorrer em perdas maiores durante inversões de tendência
Ajustes de parâmetros incorretos também podem afetar o desempenho da estratégia
Há um risco de stop loss mais elevado durante as violentas flutuações de preços
Contramedidas:
Redução adequada do período de detenção e suspensão das perdas a tempo
Otimizar parâmetros para encontrar a melhor combinação de parâmetros
Aumentar a gestão do dimensionamento das posições para controlar perdas únicas
A estratégia pode também ser otimizada nos seguintes domínios:
Incorporar indicadores de tendência para evitar negociações contra tendência
Adicionar mecanismos de gestão de dimensionamento de posição
Optimize as configurações dos parâmetros
Backtest e otimização em vários prazos
Esta estratégia identifica e rastreia tendências baseadas no conceito de desvio de preço combinado com bandas de desvio padrão VWAP e Fibonacci. Em comparação com o uso de indicadores únicos como médias móveis, esta estratégia tem julgamentos e controle de risco mais claros. Através do ajuste e otimização de parâmetros, a estratégia pode ser adaptada a diferentes produtos e prazos para alcançar um melhor desempenho.
/*backtest start: 2024-01-14 00:00:00 end: 2024-01-21 00:00:00 period: 1m basePeriod: 1m 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/ // © Mysteriown //@version=4 strategy(title="VWAP + Fibo Dev Extensions Strategy", overlay=true, pyramiding=5, commission_value=0.08) // ------------------------------------- // ------- Inputs Fibos Values --------- // ------------------------------------- fib1 = input(title="Fibo extension 1", type=input.float, defval=1.618) fib2 = input(title="Fibo extension 2", type=input.float, defval=2.618) reso = input(title="Resolution VWAP", type=input.resolution, defval="W") dev = input(title="Deviation value min.", type=input.integer, defval=150) // ------------------------------------- // -------- VWAP Calculations ---------- // ------------------------------------- t = time(reso) debut = na(t[1]) or t > t[1] addsource = hlc3 * volume addvol = volume addsource := debut ? addsource : addsource + addsource[1] addvol := debut ? addvol : addvol + addvol[1] VWAP = addsource / addvol sn = 0.0 sn := debut ? sn : sn[1] + volume * (hlc3 - VWAP[1]) * (hlc3 - VWAP) sd = sqrt(sn / addvol) Fibp2 = VWAP + fib2 * sd Fibp1 = VWAP + fib1 * sd Fibm1 = VWAP - fib1 * sd Fibm2 = VWAP - fib2 * sd // ------------------------------------- // -------------- Plots ---------------- // ------------------------------------- plot(VWAP, title="VWAP", color=color.orange) pFibp2 = plot(Fibp2, color=color.red) pFibp1 = plot(Fibp1, color=color.red) pFibm1 = plot(Fibm1, color=color.lime) pFibm2 = plot(Fibm2, color=color.lime) fill(pFibp2,pFibp1, color.red) fill(pFibm2,pFibm1, color.lime) // ------------------------------------- // ------------ Positions -------------- // ------------------------------------- bull = crossunder(low[1],Fibm1[1]) and low[1]>=Fibm2[1] and low>Fibm2 and low<Fibm1 and sd>dev bear = crossover(high[1],Fibp1[1]) and high[1]<=Fibp2[1] and high<Fibp2 and high>Fibp1 and sd>dev //plotshape(bear, title='Bear', style=shape.triangledown, location=location.abovebar, color=color.red, offset=0) //plotshape(bull, title='Bull', style=shape.triangleup, location=location.belowbar, color=color.green, offset=0) // ------------------------------------- // --------- Strategy Orders ----------- // ------------------------------------- strategy.entry("Long", true, when = bull) strategy.close("Long", when = crossover(high,VWAP) or crossunder(low,Fibm2)) strategy.entry("Short", false, when = bear) strategy.close("Short", when = crossunder(low,VWAP) or crossover(high,Fibp2))