Estrategia de negociación con martillo alcista


Fecha de creación: 2023-09-18 15:30:15 Última modificación: 2023-09-18 15:48:15
Copiar: 0 Número de Visitas: 680
1
Seguir
1617
Seguidores

Descripción general

Esta estrategia permite realizar operaciones de seguimiento de los precios de las acciones mediante la identificación de señales de K-lineas con múltiples vertices, en combinación con el indicador MACD para determinar la dirección de la tendencia. En un mercado alcista, se hace una entrada adicional cuando se presenta una forma de línea con múltiples vertices y en el contexto del MACD en varios vertices.

Principio de estrategia

Calcular el tamaño de la línea de la entidad proporcional al tamaño de la línea de la entidad y determinar la línea de la tortuga multicapa. Calcular el indicador MACD para determinar la dirección de la tendencia. Cuando la MACD es multicapa, si aparece la señal de la tortuga multicapa, haga más entradas.

Análisis de las ventajas

  • La identificación de las líneas convexas de múltiples cabezas es más sencilla y clara
  • El MACD es un buen indicador de la conversión de la tendencia a la baja.
  • Opere de acuerdo a las tendencias y evite ser engañado
  • La lógica de la estrategia es simple, directa y fácil de implementar

Análisis de riesgos

  • La identificación de formas no es totalmente precisa, hay señales perdidas
  • El MACD determina que hay un retraso en el cambio de tendencia
  • La frecuencia de las transacciones es baja y no es adecuada para las transacciones de alta frecuencia.
  • No se puede determinar el punto de inflexión, existe riesgo de pérdidas

Se pueden flexibilizar las condiciones de identificación de formas, reducir los parámetros MACD, auxiliar otros indicadores, etc. para controlar el riesgo.

Dirección de optimización

  • Reglas de parámetros para optimizar la identificación de líneas de contorno
  • Prueba el efecto de los diferentes parámetros del MACD
  • Considere la reversión de la tendencia junto con otros indicadores
  • Parámetros de prueba de robustez en diferentes variedades

Resumir

La estrategia integra el patrón y los indicadores para determinar la tendencia, lo que permite obtener ganancias estables. Se puede perfeccionar aún más a través de la optimización de parámetros, por ejemplo, y puede convertirse en una estrategia de negociación cuantitativa práctica.

Código Fuente de la Estrategia
/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 3h
basePeriod: 15m
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/
// © FenixCapital

//@version=4
strategy("Starbux", overlay=true)


//VARIABLES

//Candlestick Variables
body=close-open
range=high-low
middle=(open+close)/2
abody=abs(body)
arange=abs(range)
ratio=abody/range
longcandle= (ratio>0.6)
bodytop=max(open, close)
bodybottom=min(open, close)
shadowtop=high-bodytop
shadowbottom=bodybottom-low

//Closing Variables

macd=macd(close,12,26,9)
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
//plot(macdLine, color=color.blue)
//plot(signalLine, color=color.orange)
//plot(histLine, color=color.red, style=plot.style_histogram)

rsi=rsi(close,14)

sma50= sma(close,50)
sma200= sma(close,200)

exitrsi=rsi > 76
exitmacd=macdLine >0 and signalLine>0
//exitmacd=crossunder(macdLine,signalLine)
stopprice= crossunder(sma50,sma200)

//Candlestick Plotting
blh = (arange*0.33>=abody and close>open and shadowbottom>=abody*2 and shadowtop<=arange*0.1)
plotshape(blh, title= "Bullish Hammer", location=location.belowbar, color=color.lime, style=shape.arrowup, text="Bull\nHammer")

//beh = (arange*0.25>=abody and close<open and shadowtop>=abody*2 and shadowbottom<=arange*0.05)
//plotshape(beh, title= "Bearish Hammer", color=color.orange, style=shape.arrowdown, text="Bear\nHammer")

//bpu = (open>close and close>low and shadowbottom>2*abody)
//plotshape(bpu, title= "Black Paper Umbrella", color=color.red, style=shape.arrowdown, text="Black\nPaper\nUmbrella")

//Trend Signal
bull5= sma50 > sma200
bullmacd=macdLine>=0 and signalLine>=0
bearmacd=macdLine<= 0 and signalLine<=0

//Trading Algorithm
longCondition = blh and bearmacd and volume>volume[1]

if (longCondition)
    strategy.order("Buy", true, 1, when=longCondition)
strategy.risk.max_position_size(10)
//strategy.risk.max_drawdown(25,strategy.percent_of_equity)

exitlong = exitmacd
if (exitlong)
    strategy.close_all()