Estrategia de negociación de cruces diarios de HMA


Fecha de creación: 2023-09-22 17:07:15 Última modificación: 2023-09-22 17:07:15
Copiar: 1 Número de Visitas: 813
1
Seguir
1617
Seguidores

Descripción general

La estrategia se inicia a través de señales cruzadas de la línea media HMA y la línea diaria, y se establece una lógica de stop loss para administrar las posiciones. La estrategia combina diferentes indicadores de períodos de tiempo y se aplica a la negociación de tendencias de líneas medianas y largas.

Principio de estrategia

La estrategia se basa principalmente en los siguientes indicadores y reglas para juzgar las señales de comercio:

  • Línea media HMA: calcula el promedio móvil de Hull de los precios para determinar la dirección de la tendencia de la línea media y larga.

  • El precio de cierre de la línea diaria: para determinar el movimiento de los precios en períodos más cortos.

  • Señales de entrada: las HMA que cruzan el precio de cierre de ayer y los precios de corto período son más altos que los precios del día anterior se consideran señales de entrada; por el contrario, se consideran señales de salida.

  • Stop Loss: Establece un punto de parada fijo y se cierra la posición cuando el precio toca el precio de stop loss o stop loss.

Ventajas estratégicas

  • Los parámetros de suavizado del indicador HMA son ajustables y adaptativos.

  • Considere diferentes indicadores de ciclo de tiempo para mejorar la calidad de la señal.

  • Configuración de la lógica de parada de pérdidas para el control de riesgos.

  • Reglas de entrada claras y estrategias de gestión de posiciones.

  • Los parámetros de retroalimentación se pueden optimizar para adaptarse a diferentes entornos de mercado.

Análisis de riesgos

  • El retraso de HMA puede haber perdido el mejor momento para entrar.

  • Los parámetros fijos de parada de pérdidas pueden ser demasiado radicales o conservadores.

  • La falta de tendencia, el juicio débil, puede hacer que la postura sea inversa.

  • Las reglas simples de las transacciones pueden generar falsas señales.

Se pueden considerar las siguientes medidas para reducir el riesgo:

  1. Optimizar los parámetros de HMA para equilibrar el retraso.

  2. Configuración de seguimiento de pérdidas y ajuste de la posición de las pérdidas en tiempo real.

  3. La tendencia de aumento de los indicadores de precios es fuerte.

  4. Agregar señales de negociación de verificación de indicadores como MACD.

Dirección de optimización de la estrategia

La estrategia se puede optimizar:

  1. Optimización de los parámetros HMA para encontrar la combinación óptima de parámetros.

  2. Aumentar los indicadores de tendencias fuertes y débiles y evitar el comercio en contra.

  3. El uso de paradas de pérdidas dinámicas, en lugar de puntos fijos.

  4. Introducción de algoritmos de aprendizaje automático para optimizar los parámetros a partir de grandes cantidades de datos.

  5. Añade la función de entrega de simulación para probar el rendimiento del disco.

Resumir

La idea general de la estrategia es clara, pero todavía hay espacio para la optimización. La inclusión de indicadores de juicio de tendencia, paradas dinámicas y otros pueden mejorar la estabilidad de la estrategia. En general, el marco de la estrategia es razonable y ayuda a comprender las tendencias de la línea media y larga.

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

//@version=4
// created by SeaSide420       Enters on crossovers, exits Basket when profit $ = TP
// strategy(title="HMA & D1 crossover", overlay=true, currency="BTC", initial_capital=1, default_qty_type=strategy.percent_of_equity, default_qty_value=1, commission_type=strategy.commission.percent,commission_value=0.25,slippage=1)
SL=input(defval=-0.05,title="StopLoss $",type=input.float,step=0.01, maxval=-0.01)
TP=input(defval=0.05,title="TargetPoint $",type=input.float,step=0.01, minval=0.01)
price=input(title="Source",type=input.source,defval=open)
Period=input(14, minval=1)
hma = wma(2*wma(price, Period/2)-wma(price, Period), round(sqrt(Period)))
s1=security(syminfo.tickerid, timeframe.period, price, barmerge.gaps_off, barmerge.lookahead_off)
s2=security(syminfo.tickerid, "D", price, barmerge.gaps_off, barmerge.lookahead_off)
cp=s2<price?color.lime:color.red
cp1=plot((s2),color=color.black,title="DailyCandle1",linewidth=2,transp=0)
cp2=plot((s2[1]),color=color.black,title="DailyCandle2",linewidth=2,transp=0)
cp3=plot(hma,title="HMA",color=color.black)
fill(cp1,cp2,color=cp,transp=1)
fill(cp1,cp3,color=cp,transp=75)
closeall=strategy.openprofit<SL or strategy.openprofit>TP
if closeall
    strategy.close_all(comment = "Close All")
if (hma>hma[1] and s1>s2 and s2[1]>s2[2] and s1>s2[1])
    strategy.order("Buy", strategy.long)
if (hma<hma[1] and s1<s2 and s2[1]<s2[2] and s1<s2[1])
    strategy.order("Sell", strategy.short)