Esta estrategia se basa en el indicador de la banda de Brin y el indicador de la media móvil oscilante, construyendo un canal de precios que emite una señal de negociación a través de la ruptura de los límites superiores y inferiores del canal. Combina la adaptabilidad de la banda de Brin y la flexibilidad del indicador de oscilación, capaz de capturar los cambios en las tendencias del mercado a tiempo.
Esta estrategia utiliza el Brin Belt Interrail y el Moving Average Oscilante para construir un canal de precios. El Interrail utiliza el Interrail de Brin de 21 ciclos, el Interrail Superior y el Interrail Inferior se extienden hacia arriba y hacia abajo por un intervalo de porcentaje. El Interrail Oscilante se basa en el Interrail, se extiende o se contrae en las zonas de sobreventa y sobreventa.
En concreto, la fórmula para calcular la órbita media de Brin es:
中轨 = N日收盘价的移动平均线
La fórmula para el cálculo de la subida y bajada del tren es:
上轨 = 中轨 + WidthDev * 布林带N日标准差
下轨 = 中轨 - WidthDev * 布林带N日标准差
donde WidthDev representa el intervalo porcentual que se extiende hacia arriba y hacia abajo.
Las medias móviles oscilantes se basan en la mediana y se extienden o contraen según ciertas reglas. Cuando el mercado entra en un estado de sobrecompra o sobreventa, se extiende más lejos de la mediana, lo que amplía las oportunidades de hacer más descuidos; cuando el mercado se calma, se contrae hacia la mediana.
En resumen, esta estrategia describe el canal de precios a través de la banda de Brin y luego utiliza el indicador de promedios móviles oscilantes para determinar el momento de entrada, logrando una operación de ruptura. Haga más cuando el precio rompa la vía de Brin de abajo hacia arriba y haga vacío cuando el precio rompa la vía de Brin de arriba hacia abajo.
Reflejo de la volatilidad del mercado El Brinband puede reflejar en tiempo real la volatilidad del mercado y las tendencias cambiantes, y los trenes ascendentes y descendentes se adaptan a los cambios en la tasa de fluctuación.
Reducción de las señales falsas El indicador de la media móvil oscilante reduce efectivamente las falsas señales generadas por la banda de Brin mediante el efecto de estiramiento de la barra. Aumenta la anchura de los canales de la banda de Brin y prolonga el tiempo de tenencia de las posiciones, obteniendo así más ganancias.
Capturar el cambio de tendencia a tiempo La intersección de las medias móviles ascendentes y oscilantes de la banda de Brin proporciona una ventaja de tiempo y precio para emitir señales de negociación, lo que permite capturar de manera efectiva los ajustes clave de los polinomios y los polos y capturar la reversión de la tendencia del mercado a tiempo.
Configuración de los parámetros de la banda de Bryn La configuración incorrecta de los parámetros de la banda de Brin, como el ciclo de cálculo y el doble de la diferencia estándar, puede causar una distancia de subida y bajada demasiado grande o demasiado pequeña, generando una gran cantidad de señales falsas que afectan la estabilidad de la estrategia.
El terremoto fue muy fuerte. Si la oscilación de la media móvil se ajusta demasiado alto, puede causar que el punto de parada esté demasiado lejos y aumentar el riesgo de pérdidas.
No regresar a tiempo Cuando el mercado está en un momento de agitación o no hay una tendencia clara, las señales de negociación emitidas por los indicadores de bandas de Brin y las medias móviles de agitación pueden tardar y no reflejar los cambios en los precios a tiempo, lo que genera el riesgo de una reversión tardía.
Optimización de los parámetros de las bandas de Bryn
Se pueden probar diferentes parámetros de periodicidad, el múltiplo de la diferencia estándar, y se puede elegir la combinación de parámetros que producen la mejor frecuencia de señal y menos señales falsas.
Optimización de los parámetros de las medias móviles de oscilación Se pueden probar diferentes magnitudes de oscilación y ciclos de oscilación, seleccionando parámetros que capturen tendencias y reduzcan el retraso de la señal.
Añadir condiciones de filtración Se puede basar en señales cruzadas de las bandas de Brin y las medias móviles oscilantes, añadiendo filtros de indicadores auxiliares como el volumen de transacción, excluyendo algunas señales de negociación ineficientes.
El conjunto de estrategias La estrategia se puede utilizar junto con otras estrategias de seguimiento de pérdidas o combinaciones de estrategias de aprendizaje automático para controlar aún más el riesgo y mejorar la estabilidad.
Esta estrategia se basa en el indicador de canales de adaptación de la franja de Brin y en el indicador de promedios móviles de oscilación, logrando una combinación orgánica de seguimiento de tendencias y captura de inversiones de tendencias. Combina las ventajas de los dos indicadores, considera la volatilidad del mercado y la flexibilidad de las señales de negociación para lograr una negociación de ruptura estable y eficiente. Por supuesto, la optimización de parámetros y el control del riesgo también son especialmente importantes y requieren una prueba y ajuste continuos en función de diferentes circunstancias del mercado.
/*backtest
start: 2022-12-29 00:00:00
end: 2024-01-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
// Hull Cloud v2 by SEASIDE420
strategy("Hull Moving Average Cloud v2", shorttitle="hull_cloud_v2", overlay=true, commission_type=strategy.commission.percent, commission_value=0.075, default_qty_type=strategy.percent_of_equity, max_bars_back=200, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
hullperiod=input(title="HullMA Period",defval=210, minval=1)
Width=input(title="Cloud Width",defval=200, minval=2)
price=input(ohlc4,title="Price data")
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2017, title = "From Year", minval = 2017)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00)
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59)
window() => true
n2ma=2*wma(price,round(hullperiod/2))
nma=wma(price,hullperiod)
diff=n2ma-nma
sqn=round(sqrt(hullperiod))
n2ma1=2*wma(price[1],round(hullperiod/2))
nma1=wma(price[1],hullperiod)
diff1=n2ma1-nma1
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
Hull_Line=n1-n1[1]/n2[1]
Hull_retracted=if(n1>n2)
Hull_retracted=Hull_Line-Width
else
Hull_retracted=Hull_Line+Width
c1=(Hull_retracted*n1)/price[1]
c2=(Hull_retracted*n2)/price[1]
c4=c1>c2?green:red
c2p=plot(c2, color=black, linewidth=1)
c3p=plot(price, color=black, linewidth=1)
fill(c3p, c2p, color=c4, transp=75)
plot(cross(c1, c2) ? c1 : na, style = circles,color=c4, linewidth = 4)
if (price<c2)
strategy.close("BUY", when=window())
if (price>c2)
strategy.close("SELL", when=window())
if (price[1]>c2 and price[1]>c1)
strategy.entry("BUY",strategy.long, when=window())
if (price[1]<c1 and price[1]<c2)
strategy.entry("SELL",strategy.short, when=window())// /L'-,
// ,'-. ` ```` / L '-,
// . _,--dMMMM\ ` ` ` '`.. / '-,
// : _,--, )MMMMMMMMM),. ` ,<> /_ '-,'
// ; ___,--. \MM( `-' )M//MM\ ,',.; .-'* ; .'
// | \MMMMMM) \MM\ ,dM//MMM/ ___ < ,; `. )`--' /
// | \MM()M MMM)__ /MM(/MP' ___, \ \ ` `. `. /__, ,'
// | MMMM/ MMMMMM( /MMMMP'__, \ | / `. `-,_\ /
// | MM /MMM---' `--'_ \ |-' |/ `./ .\----.___
// | /MM' `--' __,- \"" |-' |_, `.__) . .F. )-.
// | `--' \ \ |-' |_, _,-/ J . . . J-'-. `-.,
// | __ \`. | | | \ / _ |. . . . \ `-. F
// | ___ / \ | `| ' __ \ | /-' F . . . . \ '`
// | \ \ \ / | __ / \ | |,-' __,- J . . . . . \
// | | / |/ __,- \ ) \ / |_,- __,--' |. .__.----,'
// | |/ ___ \ |'. |/ __,--' `.-;;;;;;;;;\
// | ___ \ \ | | ` __,--' /;;;;;;;;;;;;.
// | \ \ |-'\ ' __,--' /;;;;;;;;;;;;;;\
// \ | | / | __,--' `--;;/ \;-'\
// \ | |/ __,--' / / \ \
// \ | __,--' / / \ \
// \|__,--' _,-;M-K, ,;-;\
// <;;;;;;;; '-;;;;
// :D