Esta estrategia identifica y rastrea las tendencias basadas en indicadores de desviación de precios combinados con áreas de retroceso de Fibonacci.
La estrategia utiliza VWAP como la línea del punto medio del precio. Luego se calculan las bandas superior e inferior de 1.618 y 2.618 desviación estándar de las fluctuaciones de precios. Se genera una señal larga cuando el precio rompe la banda inferior hacia arriba. Se genera una señal corta cuando el precio rompe la banda superior hacia abajo.
Las señales de stop loss EXIT después de abrir posiciones largas o cortas son: la línea de stop loss para posiciones largas es la banda inferior, y para posiciones cortas es la banda superior.
En concreto, se trata de las siguientes medidas:
Calcular el VWAP como la línea del punto medio del precio
Calcular la desviación estándar sd del precio como indicador de la volatilidad de los precios
Calcular las bandas superior e inferior basado en sd. Las bandas superiores son VWAP + 1.618sd y VWAP + 2.618sd. Las bandas inferiores son VWAP - 1.618sd y VWAP - 2.618Sd.
Una señal larga se genera cuando el precio rompe la banda inferior de 1.618 hacia arriba. Una señal corta se genera cuando el precio rompe la banda superior de 1.618 hacia abajo.
EXIT de pérdida de parada larga: el precio se rompe a través de la banda inferior de 2,618; EXIT de pérdida de parada corta: el precio se rompe a través de la banda superior de 2,618.
La estrategia tiene las siguientes ventajas:
Los indicadores de desviación de precios pueden determinar eficazmente las tendencias de los precios y seguirlas
Las áreas de retracement de Fibonacci hacen que las salidas de entrada y stop loss sean más claras
VWAP como línea del punto medio del precio también mejora el valor de referencia del indicador
Los parámetros se pueden ajustar para adaptarse a diferentes productos y plazos
La estrategia también tiene algunos riesgos:
Puede incurrir en mayores pérdidas durante las inversiones de tendencia
La configuración incorrecta de los parámetros también puede afectar el rendimiento de la estrategia
Hay un mayor riesgo de stop loss durante las violentas fluctuaciones de precios
Contramedidas:
Acortar adecuadamente el período de retención y detener las pérdidas a tiempo
Optimiza los parámetros para encontrar la mejor combinación de parámetros
Aumentar la gestión del tamaño de las posiciones para controlar las pérdidas individuales
La estrategia también puede optimizarse en los siguientes ámbitos:
Incorporar indicadores de tendencia para evitar operaciones contra tendencia
Añadir mecanismos de gestión de dimensionamiento de posición
Optimiza las configuraciones de parámetros
Prueba de retroceso y optimización en múltiples marcos de tiempo
Esta estrategia identifica y rastrea las tendencias basadas en el concepto de desviación de precios combinado con VWAP y bandas de desviación estándar de Fibonacci. En comparación con el uso de indicadores individuales como promedios móviles, esta estrategia tiene juicios y control de riesgos más claros. A través del ajuste y optimización de parámetros, la estrategia se puede adaptar a diferentes productos y marcos de tiempo para lograr un mejor rendimiento.
/*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))