
Esta estrategia es una estrategia de volúmenes basada en promedios móviles. Se genera una señal de negociación mediante el cálculo de promedios móviles simples de diferentes períodos y la comparación de sus situaciones cruzadas. En concreto, se genera una señal de compra cuando se cruza la media móvil a corto plazo por encima de la media móvil a largo plazo; se genera una señal de venta cuando se cruza la media móvil a corto plazo por debajo de la media móvil a largo plazo.
La lógica central de esta estrategia se basa en el efecto de la dinámica, es decir, la continuidad de la tendencia de los precios de las acciones. Los promedios móviles pueden reflejar efectivamente la tendencia de los cambios en los precios de las acciones. Cuando el promedio móvil a corto plazo atraviesa el promedio móvil a largo plazo, indica que el precio de las acciones comienza a entrar en una tendencia alcista.
En concreto, la estrategia define un promedio móvil simple de 13 días y un promedio móvil simple de 34 días. Después de calcular los dos promedios móviles de cierre de cada día, se compara la relación entre la magnitud de sus valores. Si la línea 13 atraviesa la línea 34, se genera una señal de compra, lo que significa que el precio de las acciones entra en una tendencia alcista, y se debe establecer una posición de más tiendas; si la línea 13 atraviesa la línea 34 por debajo, se genera una señal de venta, lo que significa que el precio de las acciones entra en una tendencia descendente, y se debe liquidar.
La mayor ventaja de esta estrategia es que es simple, fácil de entender y fácil de implementar. El promedio móvil es uno de los indicadores técnicos más básicos y más utilizados. Su principio es simple, fácil de entender y aplicar.
Además, la configuración de los parámetros de esta estrategia es flexible y se puede ajustar según las diferentes variedades y condiciones del mercado. Por ejemplo, se puede cambiar el parámetro periódico de la media móvil para ajustar la sensibilidad de la estrategia. Esto ofrece espacio para optimizar y ajustar la estrategia.
El mayor riesgo de esta estrategia reside en la posibilidad de que se produzcan más señales erróneas y se encuentre en un mercado convulso. Cuando los precios tienen grandes fluctuaciones, los promedios móviles pueden generar cruces frecuentes, lo que lleva a la aparición de señales erróneas. En este caso, es necesario ajustar los parámetros del ciclo de las medias móviles para filtrar algo de ruido.
Además, cuando se produce una gran reversión en el mercado, el punto de parada de la estrategia puede ser superado, lo que lleva a una mayor pérdida. Esto requiere la optimización de la estrategia de parada de pérdidas y la relajación adecuada de la amplitud de la parada de pérdidas.
Esta estrategia puede ser optimizada en los siguientes aspectos:
Optimización de los parámetros periódicos de las medias móviles para encontrar la combinación óptima de parámetros en diferentes variedades y entornos de mercado
Añadir filtros de otros indicadores técnicos, como MACD, KD, etc., para evitar señales falsas en situaciones de temblor
Optimización y ajuste dinámico de las estrategias de parada de pérdidas, evitando que los puntos de parada estén demasiado cerca, con una mayor probabilidad de ser superados, al tiempo que se garantiza la parada de pérdidas
Aumentar los mecanismos de gestión de posiciones, como el aporte fijo, la proporción de posiciones, etc., para controlar el riesgo de una sola transacción
Esta estrategia es una estrategia muy clásica de cruce de medias móviles, que genera señales de compra y venta mediante el cálculo y la comparación de la relación entre las medias móviles a corto y largo plazo. La estrategia tiene la ventaja de ser simple y fácil de entender, con parámetros flexibles y adecuados para el aprendizaje de los principiantes; la desventaja es que la señal puede no ser lo suficientemente estable y ser fácilmente manipulada en mercados inestables.
/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
// TODO: update strategy name
strategy("{STRATEGY NAME}", overlay=true)
// === TA LOGIC ===
//
//
// TODO: PUT YOUR TA LOGIC HERE
LONG_SIGNAL_BOOLEAN = crossover(sma(close, 13), sma(close, 34))
SHORT_SIGNAL_BOOLEAN = crossunder(sma(close, 12), sma(close, 21))
// === INPUT BACKTEST DATE RANGE ===
enableShorts = input(false, title="Enable short entries?")
FromMonth = input(defval = 5, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 18, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2018, title = "From Year", minval = 2017)
ToMonth = input(defval = 9, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 2018, title = "To Year", minval = 2017)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
// === STRATEGY BUY / SELL ENTRIES ===
// TODO: update the placeholder LONG_SIGNAL_BOOLEAN and SHORT_SIGNAL_BOOLEAN to signal
// long and short entries
buy() => window() and LONG_SIGNAL_BOOLEAN
sell() => window() and SHORT_SIGNAL_BOOLEAN
if buy()
strategy.entry("Long", strategy.long, comment="Long")
if sell()
if (enableShorts)
strategy.entry("Short", strategy.short, comment="Short")
else
strategy.close("Long")
// === BACKTESTING: EXIT strategy ===
sl_inp = input(10, title='Stop Loss %', type=float)/100
tp_inp = input(30, title='Take Profit %', type=float)/100
stop_level = strategy.position_avg_price * (1 - sl_inp)
take_level = strategy.position_avg_price * (1 + tp_inp)
strategy.exit("Stop Loss/Profit", "Long", stop=stop_level, limit=take_level)