
La estrategia de trading circular basada en tendencias es una estrategia de trading cuantitativa que determina la dirección de la tendencia basándose en un simple promedio móvil de 200 días. La estrategia ofrece dos modalidades “seguimiento de tendencia ascendente” y “seguimiento de tendencia descendente” que se pueden elegir según las preferencias del comerciante. La estrategia permite al comerciante personalizar el punto de parada y el punto de parada, ofreciendo una mayor flexibilidad.
El indicador central de la estrategia es el promedio móvil simple de 200 días. La estrategia se divide en dos modelos:
Sigue el patrón de tendencia ascendente: toma más cuando el precio de cierre está por encima de la media móvil de 200 días; baja la posición cuando se activa el stop loss o el stop loss.
Seguimiento de patrones de tendencia bajista: hacer más cuando el precio de cierre está por debajo de la media móvil de 200 días; cerrar posiciones cuando se activa un stop loss o un stop loss.
Aceptar muchas condicioneslongConditionDefinición de la variable, basada en la relación entre el precio de cierre y el promedio móvil de 200 días.closeConditionDefinición de la variable, basada en la relación entre el stop loss, el precio de parada y el promedio móvil
En concreto, si se cumplen las condiciones para hacer más, se apruebastrategy.entrySe puede abrir más posiciones; si se cumplen las condiciones para cerrar, se aprueba.strategy.exit¿Qué es eso?
La estrategia tiene las siguientes ventajas:
La lógica de la transacción es simple y clara, y la implementación es fácil de entender.
Se ofrecen dos opciones para elegir el modelo adecuado en función de las diferentes circunstancias del mercado.
Características de riesgo y ganancias que se pueden ajustar a la estrategia mediante la configuración de los límites de pérdida y los límites de pérdida.
Utiliza el conocido indicador técnico de la media móvil de 200 días para determinar la dirección de la tendencia.
La generación automática de señales de negociación, sin intervención humana, reduce el riesgo de operación.
La estrategia también tiene los siguientes riesgos:
La dependencia excesiva de un solo indicador técnico puede generar señales erróneas. Se puede considerar la inclusión de otros indicadores para la verificación, como MACD, KDJ, etc.
El stop loss y el stop stop son demasiado pequeños y son susceptibles a ser interrumpidos por las fluctuaciones del mercado; demasiado grandes y pueden perder el punto de salida ideal. Los parámetros deben ser probados y optimizados adecuadamente.
Si se utiliza la señal de juicio por el precio de cierre, existe una desviación de la tendencia al alza / bajada. Se puede considerar la posibilidad de cambiar a la decisión de la entidad por la línea K o confirmar la siguiente línea K después de la generación de la señal.
No se tiene en cuenta el impacto de las tarifas de transacción. Se debe reservar un espacio para las tarifas de transacción en el disco duro.
La estrategia puede ser optimizada en las siguientes direcciones:
Añadir señales de verificación de otros indicadores técnicos para evitar señales erróneas. Por ejemplo, el indicador MACD.
Optimización de los parámetros de parada de pérdida para encontrar la combinación óptima de parámetros. Se puede comparar mediante la retroalimentación de varios grupos de parámetros.
Añadir filtros de tendencia, sólo cuando la tendencia es clara. Por ejemplo, la introducción del indicador ADX.
Cambiar la forma de entrar en el campo, considerar la relación de entidades de la línea K o unirse al mecanismo de confirmación.
Tenga en cuenta el impacto del volumen de transacciones. Verifique la fiabilidad de la señal cuando se produce una gran cantidad.
Prueba diferentes parámetros de la media móvil para encontrar el parámetro óptimo.
En resumen, la idea general de la estrategia es clara y fácil de entender, y tiene un cierto valor práctico. Sin embargo, solo depende de un solo indicador hay un cierto área ciega, se necesita agregar más criterios de evaluación para la verificación, y también se necesita optimizar los parámetros de prueba para obtener mejores resultados en el mundo real. Además, también se necesita prestar atención a los efectos de los gastos de transacción, como el deslizamiento en el mundo real y las tarifas de tramitación.
/*backtest
start: 2022-11-10 00:00:00
end: 2023-11-16 00:00:00
period: 1d
basePeriod: 1h
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/
// © I11L
//@version=5
strategy("Cycle Position Trading", overlay=true, pyramiding=1, default_qty_value=100000, initial_capital=100000, default_qty_type=strategy.cash, process_orders_on_close=false, calc_on_every_tick=false)
// Input for selecting the mode
mode = input.string("Buy Uptrend", options = ["Buy Uptrend", "Buy Downtrend"])
// Input for customizing stop loss and take profit levels
stopLoss = input.float(0.9, title="Stop Loss (SL) level", step=0.01)
takeProfit = input.float(1.1, title="Take Profit (TP) level", step=0.01)
// Calculate the 200-day Simple Moving Average (SMA)
sma = ta.sma(close, 200)
// Plot the SMA on the chart
plot(sma)
// Define the conditions for entering a long position based on the selected mode
longCondition = mode == "Buy Uptrend" ? close > sma and close[5] > sma : close < sma
// Define the conditions for closing a position based on the selected mode
closeCondition = mode == "Buy Uptrend" ? (strategy.position_avg_price * stopLoss > close or strategy.position_avg_price * takeProfit < close or close < sma * 0.95) : (strategy.position_avg_price * stopLoss > close or strategy.position_avg_price * takeProfit < close or close > sma * 1.05)
// Execute a long position if the longCondition is met
if (longCondition)
strategy.entry("My Long Entry Id", strategy.long)
// Close the position if the closeCondition is met
if (closeCondition)
strategy.exit("Exit", limit = close)