Estrategia de negociación de juego de media móvil con banda de volatilidad de doble línea


Fecha de creación: 2023-10-07 15:30:27 Última modificación: 2023-10-07 15:30:27
Copiar: 0 Número de Visitas: 627
1
Seguir
1617
Seguidores

Descripción general

Esta estrategia utiliza el indicador de la banda de Brin y el indicador de la línea media, en combinación con una señal de negociación especial para realizar operaciones de juego de línea doble, que pertenece a la estrategia de negociación de línea corta.

El principio

La estrategia se compone principalmente de las siguientes partes:

  1. Indicador de la cinta de Bryn Se generan subidas y bajadas de acuerdo con el precio de cierre y su diferencia estándar, mirando hacia arriba cuando el precio está cerca de la subida y hacia abajo cuando está cerca de la bajada.

  2. Indicador de la línea media Calcula el promedio móvil de 21 días del índice, con el precio cruzado para hacer más señales de descubierto.

  3. Señales de comercio Utiliza patrones de gráficos para determinar los puntos de inflexión de precios, como las zonas oscuras superiores y las zonas claras inferiores, para emitir señales de negociación.

  4. Juegos de doble línea El juego binario se realiza de acuerdo con la señal de cruce de la banda de Bryn y la línea media, es decir, se realiza al mismo tiempo.

El principio es el siguiente:

Según el punto de inflexión posible de la banda de Brin, el precio está cercano a la vía ascendente y está más cerca de la vía descendente. Al mismo tiempo, se calcula el promedio de la EMA de 21 días, con el precio que produce el forcado dorado y el forcado muerto. Además, también se juzga la forma de la barra, la aparición de zonas oscuras en la parte inferior es más probable y la zona clara en la parte superior es más probable.

La estrategia combina señales de bandas de Brin, medias y cuerdas para mejorar la eficiencia de la toma de decisiones comerciales. La ventaja es que hay varias señales confirmadas, no es fácil perder los puntos de inflexión y puede aumentar la probabilidad de ganar.

Análisis de las ventajas

Las principales ventajas de esta estrategia son:

  1. La integración de múltiples señales para mejorar la precisión de la toma de decisiones

La estrategia utiliza tres indicadores, la banda de Bryn, la línea media y la señal de la barra, para verificarse mutuamente y determinar la dirección de la operación final. Esto puede filtrar las señales falsas y evitar operaciones erróneas.

  1. Respuesta rápida, no se puede perder el giro

Esta estrategia, combinada con indicadores como las bandas de Brin y las líneas medias, permite identificar rápidamente los posibles puntos de inflexión, tomar decisiones comerciales a tiempo y no perder oportunidades de cambio de mercado.

  1. Operaciones de doble línea para aumentar la probabilidad de obtener ganancias

Utiliza el método de apuestas de dos líneas, al mismo tiempo que posee boletos múltiples y vacíos. Esto permite obtener ganancias cuando el mercado fluctúa en gran medida en cualquier dirección, reduciendo el riesgo de unilaterales y aumentando la probabilidad de ganar.

  1. Apto para operaciones de corto plazo y flexible para el mercado

La estrategia utiliza como referencia las bandas de Brin y las líneas medias de corto período para capturar tendencias de corta línea, es adecuada para el comercio frecuente de corta línea y puede responder a las fluctuaciones de alta frecuencia del mercado.

  1. Directamente disponible y fácil de usar

Las estrategias se presentan en forma de código completo y se pueden usar directamente en el comercio de discos reales. La selección de indicadores y parámetros es razonable y es muy adecuada para el uso simple y rápido de los comerciantes individuales.

Análisis de riesgos

También existe el riesgo de que:

  1. Puede haber pérdidas continuas

En situaciones convulsivas, la banda de Brin puede cruzarse con frecuencia con la baja, la línea media y las señales de rayo. Esto puede causar un alto continuo en la estrategia. Se recomienda ajustar los parámetros adecuadamente para garantizar un alto razonable.

  1. Las operaciones en dos líneas son más riesgosas

La posesión simultánea de varios bonos y vacíos aumenta las pérdidas y requiere un apoyo financiero adecuado. Se recomienda reducir la proporción de capital por transacción individual para garantizar que el riesgo general sea controlado.

  1. El cortocircuito debe ser vigilado de cerca

Las operaciones en línea corta requieren un seguimiento constante del mercado y no se puede salir de la interfaz de negociación por mucho tiempo. Se recomienda la adopción de una estrategia de stop loss para evitar pérdidas que superen las expectativas.

  1. Optimización de parámetros con espacio limitado

El espacio de optimización de los parámetros de la banda de Brin y la línea media es relativamente pequeño y requiere adaptación al mercado y aplicación flexible.

  1. No se puede juzgar con claridad si se necesita adaptarse a un gráfico común

Esta estrategia depende en parte de las señales de gripe, pero algunas gripes comunes no se pueden determinar con claridad y se deben tomar decisiones en combinación con otros indicadores.

Dirección de optimización

Esta estrategia puede ser optimizada en los siguientes aspectos:

  1. Integración de más señales indicadoras

Se puede considerar la inclusión de otros indicadores, como KD, MACD, para enriquecer las fuentes de señales de negociación y mejorar la precisión de las decisiones.

  1. Aumentar el juicio de aprendizaje automático

Utiliza algoritmos de aprendizaje automático para analizar grandes cantidades de datos históricos, auxiliar o reemplazar parte de las señales de Indicator para reducir la intervención humana.

  1. Optimización de las estrategias de stop loss

Se puede establecer una amplitud de parada adaptada, para apretar gradualmente la parada después de alcanzar cierta ganancia; también se puede trailing stop o ajustar gradualmente la posición de parada por período de tiempo, para reducir el riesgo de pérdidas.

  1. Optimización de la gestión de fondos

Las estrategias de optimización de la proporción de asignación de capital, control de posiciones, etc., pueden ser adaptadas a las condiciones del mercado, controlando el riesgo al tiempo que garantiza la rentabilidad.

  1. Combinado con un sistema de análisis cuantitativo

Utilizando la retroalimentación cuantitativa y la negociación simulada, se realizan pruebas repetitivas para optimizar los parámetros de la estrategia y ayudar a la toma de decisiones en el mercado real, mejorando la estabilidad.

  1. Añadir funciones de comercio automático

De acuerdo con los resultados de la revisión, se parametrizarán las estrategias, se incorporará un sistema de negociación automático y se realizarán transacciones sin guardias.

Resumir

Esta estrategia integra las bandas de Brin, los indicadores de línea media y las señales de rayo, formando una estrategia de negociación con múltiples verificaciones. El uso de un método de juego de dos líneas puede aumentar la probabilidad de obtener ganancias. La estrategia responde rápidamente y es adecuada para el comercio frecuente de líneas cortas.

Código Fuente de la Estrategia
/*backtest
start: 2022-09-30 00:00:00
end: 2023-10-06 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
//Design by MrPhu in August,10,2018
strategy("TrumpShipper_Long_Short V26", overlay=true)
filterFractals = input(true, title=" Follow Code #Trump On/Off")
dt = 0.0001
confidence=(request.security(syminfo.tickerid, 'D', close)-request.security(syminfo.tickerid, 'D', close[1]))/request.security(syminfo.tickerid, 'D', close[1])
prediction = confidence > dt ? true : confidence < -dt ? false : prediction[1]

if (prediction)
    strategy.exit("Close", "Short ")
    strategy.entry("Long ", strategy.long)

if (not prediction)
    strategy.exit("Close", "Long ")
    strategy.entry("Short ", strategy.short)
///////////Bollinger Band///////////////
length = 20
crc = close, title="Source"
mult = 2.0
basis = sma(crc, length)
dev = mult * stdev(crc, length)
upper = basis + dev
lower = basis - dev
spanColor = prediction ? green : red, transp=90

p1 = plot(upper, title="Short", style=line, linewidth=1, color=spanColor)
p2 = plot(lower, title="Long", style=line, linewidth=1, color=spanColor)

fill(p1, p2, color=spanColor, transp=90, title="Fill")

/////////////
Optional_TimeFrame = 'D'

M_HIGH = request.security(syminfo.tickerid, Optional_TimeFrame, high)
M_OPEN = request.security(syminfo.tickerid, Optional_TimeFrame, open)
M_LOW = request.security(syminfo.tickerid, Optional_TimeFrame, low)

H_RANGE = M_HIGH-M_OPEN
L_RANGE = M_OPEN-M_LOW

H_236 = M_HIGH - H_RANGE * 0.236
H_382 = M_HIGH - H_RANGE * 0.382
H_500 = M_HIGH - H_RANGE * 0.500
H_618 = M_HIGH - H_RANGE * 0.618
H_764 = M_HIGH - H_RANGE * 0.764

L_236 = M_LOW + L_RANGE * 0.236
L_382 = M_LOW + L_RANGE * 0.382
L_500 = M_LOW + L_RANGE * 0.500
L_618 = M_LOW + L_RANGE * 0.618
L_764 = M_LOW + L_RANGE * 0.764

pl1=plot(M_HIGH, color=M_HIGH != M_HIGH[1] ?na:black, style=line, linewidth=1, transp=80)

pl2=plot(H_236, color=H_236 != H_236[1] ?na:gray, style=line, linewidth=1, transp=80)
pl3=plot(H_382, color=H_382 != H_382[1] ?na:black, style=line, linewidth=1, transp=80)
pl4=plot(H_500, color=H_500 != H_500[1] ?na:red, style=line, linewidth=1, transp=80)
pl5=plot(H_618, color=H_618 != H_618[1] ?na:gray, style=line, linewidth=1, transp=80)
pl6=plot(H_764, color=H_764 != H_764[1] ?na:gray, style=line, linewidth=1, transp=80)

pl7=plot(M_OPEN, color=M_OPEN != M_OPEN[1] ?na:blue, style=line, linewidth=2)

pl8=plot(L_236, color=L_236 != L_236[1] ?na:gray, style=line, linewidth=1, transp=80)
pl9=plot(L_382, color=L_382 != L_382[1] ?na:black, style=line, linewidth=1, transp=80)
pl10=plot(L_500, color=L_500 != L_500[1] ?na:red, style=line, linewidth=1, transp=80)
pl11=plot(L_618, color=L_618 != L_618[1] ?na:black, style=line, linewidth=1, transp=80)
pl12=plot(L_764, color=L_764 != L_764[1] ?na:gray, style=line, linewidth=1, transp=80)

pl13=plot(M_LOW, color=M_LOW != M_LOW[1] ?na:black, style=line, linewidth=1, transp=80)

SHOW_MA = false
MA_SRC = hlc3
MA_LENGTH = 21

_MA = ema(MA_SRC, MA_LENGTH)
pl14=plot(not SHOW_MA ? na : _MA, color=teal, linewidth=2)

SHOW_SIGNALS = true

BUYX(_F) => cross(_F, MA_SRC) and rising(_MA, 1)
SELX(_F) => cross(_F, MA_SRC) and falling(_MA, 1)

SEL_SIGNAL = SELX(H_236) or SELX(H_382) or SELX(H_500) or SELX(H_618) or SELX(H_764) or SELX(L_236) or SELX(L_382) or SELX(L_500) or SELX(L_618) or SELX(H_764)

BUY_SIGNAL = BUYX(H_236) or BUYX(H_382) or BUYX(H_500) or BUYX(H_618) or BUYX(H_764) or BUYX(L_236) or BUYX(L_382) or BUYX(L_500) or BUYX(L_618) or BUYX(H_764)

//================= Chart 30m =================/////
//Jurij
h_left = 10
h_right = 10
//barCount = nz(barCount[1]) + 1
//check history and realtime PTZ
h_left_low = lowest(h_left)
h_left_high = highest(h_left)
newlow = low <= h_left_low
newhigh = high >= h_left_high
central_bar_low = low[h_right + 1]
central_bar_high = high[h_right + 1]
full_zone_low = lowest(h_left + h_right + 1)
full_zone_high = highest(h_left + h_right + 1)
central_bar_is_highest = central_bar_high >= full_zone_high
central_bar_is_lowest = central_bar_low <= full_zone_low
plotchar(central_bar_is_highest ? -1 : 0, offset=-h_right-1 ,color=red, text="Top")
plotchar(central_bar_is_lowest ? 1 : 0, offset=-h_right-1 ,location=location.belowbar, color=green, text="Bottom")