Estrategia cuantitativa de la cruz dorada


Fecha de creación: 2023-11-22 14:39:33 Última modificación: 2023-11-22 14:39:33
Copiar: 2 Número de Visitas: 652
1
Seguir
1617
Seguidores

Estrategia cuantitativa de la cruz dorada

Descripción general

Esta estrategia permite la cuantificación de las compras cruzadas y ventas cruzadas de oro mediante el cálculo de indicadores de volumen neto personalizados. Esta estrategia es una estrategia de seguimiento de tendencias.

Principio de estrategia

La lógica central de la estrategia es calcular un indicador de la cantidad neta (NV) personalizado. El indicador de la NV determina la dirección del cambio en el precio, tomando el volumen de transacciones del día si es positivo, el valor negativo del volumen de transacciones del día si es negativo y el 0 si no hay cambio. De esta manera, se puede reflejar más claramente la relación entre el cambio en el precio y el volumen de transacciones.

Después, la estrategia calcula el promedio móvil simple de 3 días del indicador NV, como la línea de cruz dorada y la línea de cruz muerta, respectivamente. Cuando el indicador NV rompe la línea de cruz dorada de abajo hacia arriba, haga más; cuando el indicador NV rompe la línea de cruz muerta de arriba hacia abajo, haga un hueco.

Además, la estrategia también establece un tiempo de inicio parametrizado para controlar el tiempo de negociación.

Ventajas estratégicas

La mayor ventaja de esta estrategia es que es simple, clara y fácil de entender, la configuración de parámetros es flexible, se puede personalizar la variedad de operaciones, el momento de las operaciones, etc. Además, la estrategia es una estrategia de seguimiento de tendencias, que puede capturar eficazmente las tendencias de precios, reducir la frecuencia de operaciones y obtener una mayor tasa de ganancias.

Riesgo estratégico

El principal riesgo de esta estrategia es:

  1. El día sigue la estrategia, no puede reaccionar a tiempo a la tendencia de los cambios de precios. Puede perder algunas oportunidades de negociación o no puede detener los pérdidas a tiempo.

  2. El cruce de oro cuantitativo en sí mismo tiene un cierto retraso, que puede causar una entrada tardía y ampliar las pérdidas.

  3. No puede filtrar eficazmente el ruido del mercado y es fácil de engañar.

Se puede usar una media móvil dinámica para reducir el riesgo en combinación con filtros de otros indicadores.

Dirección de optimización de la estrategia

La estrategia puede ser optimizada en los siguientes aspectos:

  1. Aumentar las estrategias de detención de pérdidas y controlar las pérdidas individuales mediante el uso de detención móvil y detención nocturna.

  2. Aumentar los indicadores de filtración y utilizar otros indicadores como MACD, KDJ y otros para filtrar las señales de falsedad y mejorar la estabilidad de la estrategia.

  3. Optimización de parámetros, búsqueda de la combinación óptima de parámetros por medio de algoritmos genéticos, cadenas de Markov y otros métodos iterativos.

  4. La combinación de estrategias con otras estrategias no relacionadas puede dispersar aún más el riesgo y mejorar la tasa de rendimiento general.

Resumir

Esta estrategia permite un seguimiento de tendencias sencillo y eficaz a través del cruce de oro cuantitativo. Aunque existe un cierto grado de atraso, la configuración de los parámetros es flexible y fácil de entender, y es una estrategia adecuada para la práctica de los principiantes.

Código Fuente de la Estrategia
/*backtest
start: 2023-11-14 00:00:00
end: 2023-11-15 03:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="@DankCoins - Customized Net Volume")
src = input(defval = close, title = "VA Source")
nv = change(src) > 0 ? volume : change(src) < 0 ? -volume : 0*volume



// Inputs //
VHigh = input(defval = 50, title = "VHigh Amount")
VLow = input(defval = -50, title = "VLow Amount")


// === INPUT BACKTEST RANGE ===
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 = 2018, title = "From Year", minval = 2012)
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 = 2012)

MAV1 = sma(volume, 3)
MAV2 = -sma(volume, 3)

enterShort = crossunder(nv, MAV1)
exitShort = crossunder(nv, MAV2)
enterLong = crossover(nv, MAV2)
exitLong = crossover(nv, MAV1)

// Time Function 
start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  // backtest start window
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false // create function "within window of time"


strategy.entry(id="Long Entry", long=true, when=enterLong and window())
strategy.entry(id="Short Entry", long=false, when=enterShort and window())
strategy.exit("Exit Long", from_entry = "Long Entry",  when=exitLong and window())
strategy.exit("Exit Short", from_entry = "Short Entry",  when=exitShort and window())


// Plot
plot(nv, color=blue, title="NV")
plot(VHigh, color=red)
plot(VLow, color=red)
plot(MAV1, color=green)
plot(MAV2, color=green)