
La estrategia utiliza el método de la línea media de varios marcos de tiempo, utilizando la línea media a largo plazo para determinar la dirección de la tendencia general, la línea media a corto plazo para determinar la dirección de la tendencia a corto plazo, y cuando la línea larga y la línea corta confirman la tendencia, entran en ventajas / pérdidas; cuando la línea corta retrocede cerca de la línea larga, juzga que se forma una oportunidad de entrada de ajuste a corto plazo, y entonces hace una operación inversa. La estrategia se aplica principalmente a las acciones con tendencia a la línea larga y media.
La estrategia utiliza la media móvil simple de 200 días para determinar la dirección de la tendencia a largo plazo, y la media móvil simple de 10 días para determinar la dirección de la tendencia a corto plazo. Cuando el precio de la acción está por encima de la media de 200 días y por debajo de la media de 10 días, indica que se encuentra en la fase de subida de la línea larga y reajuste de la línea corta, entonces haga más; cuando el precio de la acción está por debajo de la media de 200 días y por encima de la media de 10 días, indica que se encuentra en la fase de bajada de la línea larga y rebote de la línea corta, entonces haga un espacio.
En concreto, cuando se cumplen las siguientes condiciones, se hace una entrada adicional: precio de cierre> promedio de 200 días y precio de cierre < promedio de 10 días; cuando se cumplen las siguientes condiciones, se hace una entrada en blanco: precio de cierre < promedio de 200 días y precio de cierre> promedio de 10 días.
La opción de cierre de pérdidas se establece después de la entrada, y se detiene si el retorno del precio de compra es superior al 10%. Al mismo tiempo, si se configura la opción i_lowerClose, se espera que el precio de cierre sea más bajo para volver a entrar en juego, lo que evita que el cierre sea demasiado sensible.
Esta estrategia, combinada con una línea media de múltiples marcos temporales, permite capturar la dirección de la tendencia de la línea media y larga con una mayor probabilidad. La estrategia deutsch ofrece un mejor momento de entrada cuando la línea media corta se reajusta a la línea media larga. En comparación con un sistema de línea media única, se reduce la probabilidad de ser ajustado por un ajuste a corto plazo.
Esta estrategia es controlada por riesgo. Se establece un porcentaje de pérdidas del 10% para controlar las pérdidas; al mismo tiempo, se establece una condición de filtro de tiempo para evitar el comercio en un período de tiempo específico.
La estrategia sigue teniendo el riesgo de ser ajustada. Cuando el ajuste de la línea corta es demasiado largo o el ajuste es demasiado grande, puede desencadenar un stop loss y ser ajustado. En este caso, existe el riesgo de pérdidas.
La estrategia es poco adecuada para las variedades de comercio. Para las acciones de gran volatilidad y largo tiempo de ajuste, la estrategia es fácil de detener y no es eficaz.
La estrategia también se enfrenta a grandes pérdidas en el caso de cambios significativos en el mercado en general. Por ejemplo, durante la crisis financiera, la estrategia puede ser difícil de rentabilizar.
Se pueden introducir más sistemas de medias, formando un mecanismo de selección múltiple. Por ejemplo, la inclusión de la mediana de 50 días, sólo se considera la entrada cuando el precio de cierre está entre la mediana de 50 días y la mediana de 200 días. Esto puede seleccionar aún más las mejores variedades de tendencia.
Se puede establecer un stop floating. En concreto, después de la entrada, se puede establecer un stop variable según el rango de fluctuación de la acción, en lugar de un stop fijo del 10%. Esto reduce la probabilidad de que se desencadene un stop innecesario.
Se puede combinar con otros indicadores para juzgar la situación del mercado. Por ejemplo, el MACD puede suspender la estrategia para evitar pérdidas cuando el MACD muestra una salida del mercado. Esto puede controlar el inicio y el cierre de la estrategia según el juicio del gran mercado.
La estrategia en su conjunto es una estrategia de línea media típica de varios marcos de tiempo. Combina la línea media a corto y largo plazo para capturar la tendencia de la línea media a largo plazo y, al mismo tiempo, aprovechar las oportunidades de reajuste de la línea corta. El riesgo de la estrategia también está bajo control.
/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © irfanp056
// @version=5
strategy("Simple Pullback Strategy",
overlay=true) // Interactive Brokers rate
// Get user input
i_ma1 = input.int(title="MA 1 Length", defval=200, step=10, group="Strategy Parameters", tooltip="Long-term MA")
i_ma2 = input.int(title="MA 2 Length", defval=10, step=10, group="Strategy Parameters", tooltip="Short-term MA")
i_stopPercent = input.float(title="Stop Loss Percent", defval=0.10, step=0.1, group="Strategy Parameters", tooltip="Failsafe Stop Loss Percent Decline")
i_lowerClose = input.bool(title="Exit On Lower Close", defval=false, group="Strategy Parameters", tooltip="Wait for a lower-close before exiting above MA2")
i_startTime = input(title="Start Filter", defval=timestamp("01 Jan 1995 13:30 +0000"), group="Time Filter", tooltip="Start date & time to begin searching for setups")
i_endTime = input(title="End Filter", defval=timestamp("1 Jan 2099 19:30 +0000"), group="Time Filter", tooltip="End date & time to stop searching for setups")
// Get indicator values
ma1 = ta.sma(close, i_ma1)
ma2 = ta.sma(close, i_ma2)
// Check filter(s)
f_dateFilter = true
// Check buy/sell conditions
var float buyPrice = 0
buyCondition = close > ma1 and close < ma2 and strategy.position_size == 0 and f_dateFilter
sellCondition = close > ma2 and strategy.position_size > 0 and (not i_lowerClose or close < low[1])
stopDistance = strategy.position_size > 0 ? ((buyPrice - close) / close) : na
stopPrice = strategy.position_size > 0 ? buyPrice - (buyPrice * i_stopPercent) : na
stopCondition = strategy.position_size > 0 and stopDistance > i_stopPercent
// Enter positions
if buyCondition
strategy.entry(id="Long", direction=strategy.long)
if buyCondition[1]
buyPrice := open
// Exit positions
if sellCondition or stopCondition
strategy.close(id="Long", comment="Exit" + (stopCondition ? "SL=true" : ""))
buyPrice := na
// Draw pretty colors
plot(buyPrice, color=color.lime, style=plot.style_linebr)
plot(stopPrice, color=color.red, style=plot.style_linebr, offset=-1)
plot(ma1, color=color.blue)
plot(ma2, color=color.orange)