Estrategia comercial de línea de mar suave


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

Descripción general

Esta estrategia se basa en un solo indicador para el seguimiento de la tendencia de compra y venta. La estrategia utiliza el indicador de la línea de fondo para identificar la dirección de la tendencia, combinada con la forma histórica de la línea K para determinar el momento de entrada y salida para obtener ganancias.

Principio de estrategia

Esta estrategia construye una línea de fondo plana mediante el cálculo de las medias móviles. En concreto, se calcula una media móvil de los precios de apertura, máximo, mínimo y cierre, y luego se calcula el precio de apertura, máximo, mínimo y cierre de la línea de fondo plana.

Para determinar las condiciones de compra: el precio de cierre de la línea K actual es mayor que el precio de cierre de la línea K anterior, el precio de cierre de la línea K anterior es mayor que el precio de cierre de las líneas K anteriores, y casi las tres líneas K son líneas de sol.

Para determinar las condiciones de venta: el precio de cierre de la línea K actual es menor que el precio de cierre de la línea K anterior, el precio de cierre de la línea K anterior es menor que el precio de cierre de las líneas K anteriores, y casi las tres líneas K son negativas.

Las condiciones de compra y venta deben cumplirse con la última señal de 0 o la señal opuesta, para evitar la repetición consecutiva de la operación.

Análisis de las ventajas

  • Utiliza un solo indicador, la lógica de la estrategia es simple y clara
  • La capacidad de seguimiento de tendencias con el indicador de la línea de la línea de la costa
  • Combinado con la forma de la línea K, se evita la pérdida de tendencia o la inversión
  • Filtrando las señales repetitivas para reducir las transacciones innecesarias

Análisis de riesgos

  • La línea de alta mar es retrasada y puede haber perdido el punto de inflexión de la tendencia
  • La falta de un juicio de tendencias a largo plazo
  • No se ha establecido un stop loss, lo que podría aumentar las pérdidas.
  • No tiene en cuenta el entorno de mercado y es vulnerable al riesgo sistémico

Se pueden mejorar las tendencias a largo plazo en combinación con otros indicadores, optimizando las estrategias de stop loss, prestando atención al entorno de las grandes apuestas, etc.

Dirección de optimización

  • Añadir otros indicadores para determinar la dirección de las tendencias a largo plazo
  • Optimización de las estrategias de stop loss, estableciendo un stop loss móvil o un stop loss en porcentaje
  • Considere los índices de bolsa y evite las operaciones en mercados convulsionados
  • Configuración de parámetros de optimización, ajuste de la media móvil y otros parámetros
  • Aumentar los indicadores de energía para garantizar el apoyo de la producción

Resumir

Esta estrategia utiliza la función de seguimiento de tendencias de los indicadores de la línea K, en combinación con la forma de la línea K para determinar el momento de entrada, y controla la frecuencia de las operaciones mediante el filtrado de señales repetidas. La lógica de la estrategia es simple, clara y fácil de implementar.

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

//Masoud Abdoli
//Heikin Ashi Smoothed Buy & Sell Strategy Rev.4
//Date: 01-Oct-2021
//@version=4

strategy(title="Abdoli's Heikin Ashi Smoothed Buy & Sell Strategy Rev.4", shorttitle="Heikin-Ashi Smoothed Rev.4", overlay=true,
 initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

MaPeriod = input (title="Moving Average Period?", type=input.integer, defval=65, minval=5, maxval=100, step=5)

maOpen  = ema(open , MaPeriod)
maHigh  = ema(high , MaPeriod)
maLow   = ema(low  , MaPeriod)
maClose = ema(close, MaPeriod)

haClose = (maOpen+maHigh+maLow+maClose)/4
haOpen = 0.0
haOpen:= na(haOpen[1]) ? (maOpen[1]+maClose[1])/2 : (haOpen[1]+haClose[1])/2
haHigh = max(maHigh, max(haClose, haOpen))
haLow  = min(maLow , max(haClose, haOpen))

plotcandle(haOpen, haHigh, haLow, haClose, title="heikin-Ashi smoothed", color=haOpen>haClose ? color.orange : color.blue)

B0 = haClose    - haOpen
B1 = haClose[1] - haOpen[1]
B2 = haClose[2] - haOpen[2]
BuyCondition = B0 > 0.0 and B1 > 0.0 and B2 > 0.0 and haClose > haClose[1] and haClose[1] > haClose[2]
SellCondition= B0 < 0.0 and B1 < 0.0 and B2 < 0.0 and haClose < haClose[1] and haClose[1] < haClose[2]

last_signal = 0
Buy_final  = BuyCondition  and (nz(last_signal[1]) == 0 or nz(last_signal[1]) ==-1)
Sell_final = SellCondition and (nz(last_signal[1]) == 0 or nz(last_signal[1]) == 1)
last_signal := Buy_final ? 1 : Sell_final ? -1 : last_signal[1]

plotshape(Buy_final , style=shape.labelup  , location=location.belowbar, color=color.blue, title="Buy label" , text="BUY" , textcolor=color.white)
plotshape(Sell_final, style=shape.labeldown, location=location.abovebar, color=color.red , title="Sell label", text="SELL", textcolor=color.white)

strategy.entry("Buy", strategy.long, when=Buy_final)
strategy.close("Buy", when=Sell_final)