Esta estrategia es una estrategia comercial que utiliza múltiples marcos de tiempo. Utiliza principalmente el marco de tiempo a largo plazo para determinar la dirección de la tendencia, el marco de tiempo a mediano plazo para determinar la dirección del impulso y el marco de tiempo a corto plazo para localizar puntos de entrada específicos. La idea general es tomar decisiones basadas en la tendencia, el impulso y el momento de entrada en tres períodos de tiempo diferentes.
La estrategia se aplica principalmente a través de lo siguiente:
Definir diferentes marcos de tiempo
Determinar la tendencia a largo plazo
Determinar el impulso a medio plazo
Localizar los puntos de entrada
Puntos de salida
En resumen, esta estrategia hace pleno uso de la información a través de los marcos de tiempo, juzgando la tendencia y el tiempo desde diferentes dimensiones, lo que puede filtrar eficazmente las fallas y seleccionar puntos de entrada de alta probabilidad a lo largo de la tendencia.
Las ventajas de esta estrategia incluyen:
El diseño de los marcos de tiempo múltiples es científico y meticuloso, lo que permite un juicio más preciso de la tendencia del mercado y evita ser engañado por el ruido del mercado a corto plazo.
Las condiciones integrales que tienen en cuenta la tendencia, el impulso y el momento de entrada ayudan a filtrar muchas señales falsas.
El uso de Stoch para determinar el impulso a mediano plazo es muy preciso y ayuda a capturar las inversiones reales del mercado.
Los estrictos criterios de entrada evitan la mayoría de las falsas rupturas de los picos de precios.
Los puntos de salida de stop loss definidos controlan eficazmente el riesgo para cada operación.
Aplicable a diversos entornos de mercado sin estar limitado por condiciones específicas del mercado.
Hay margen para optimizar la gestión de capital, como el porcentaje de pérdida fija, el dimensionamiento dinámico de las posiciones, etc.
También hay algunos riesgos a tener en cuenta para esta estrategia:
En los mercados variados, puede haber múltiples hits de stop loss.
Es posible que los cambios de tendencia no se detecten a tiempo, lo que conduce a operaciones incorrectas.
Confiar únicamente en Stoch para el juicio de impulso tiene limitaciones.
Los estrictos criterios de entrada pueden hacer que se pierdan algunas tendencias.
El potencial de ganancia es relativamente limitado, incapaz de capturar grandes tendencias.
Algunas maneras de mitigar los riesgos:
Ajuste fino de los parámetros para reducir las tasas de error.
Añadir indicadores de tendencia para establecer un juicio combinado.
Incorporar más indicadores como MACD para el juicio de impulso.
Optimizar el stop loss para utilizar el trailing stop, etc.
Ajustar rápidamente el stop loss y el tamaño de la posición cuando las tendencias importantes cambien.
Algunas maneras de optimizar la estrategia:
Optimización de parámetros como los períodos de MA, ajustes de Stoch para mejorar la precisión de la señal.
Agregue más indicadores como MACD, Bandas de Bollinger para un mejor juicio.
Optimizar los criterios de entrada, permitir más operaciones a niveles de riesgo aceptables.
Utilizar paradas de pérdida traseras o paradas basadas en ATR.
Ajuste activamente el tamaño de la posición cuando haya cambios importantes en la tendencia.
Utilice el aprendizaje automático para optimizar automáticamente parámetros y reglas.
Considere los fundamentos, use las publicaciones de datos clave para confirmar más las señales.
Prueba de la eficacia en diferentes productos como divisas, metales, etc.
En resumen, la idea central de esta estrategia de tendencia de marcos de tiempo múltiples es tomar decisiones basadas en dimensiones a largo, mediano y corto plazo. Las ventajas se encuentran en condiciones estrictas y riesgos controlables, pero los parámetros y reglas necesitan optimización para mercados específicos.
/*backtest start: 2023-10-15 00:00:00 end: 2023-10-22 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy("TUX MTF", overlay=true) // MULTIPLE TIME FRAME STRATEGY // LONG TERM --- TREND // MED TERM --- MOMENTUM // SHORT TERM --- ENTRY // ENTRY POSITION TIMEFRAME entry_position = input(title="Entry timeframe (minutes)", defval=5, minval=1, maxval=1440) med_term = entry_position * 4 long_term = med_term * 4 // GLOBAL VARIABLES ma_trend = input(title="Moving Average Period (Trend)", defval=50, minval=5, maxval=200) // RSI length = input(title="Stoch Length", defval=18, minval=5, maxval=200) OverBought = input(title="Stoch OB", defval=80, minval=60, maxval=100) OverSold = input(title="Stoch OS", defval=20, minval=5, maxval=40) smoothK = input(title="Stoch SmoothK", defval=14, minval=1, maxval=40) smoothD = input(title="Stoch SmoothD", defval=14, minval=1, maxval=40) maSm = input(title="Moving Avg SM", defval=7, minval=5, maxval=50) maMed = input(title="Moving Avg MD", defval=21, minval=13, maxval=200) // LONG TERM TREND long_term_trend = request.security(syminfo.ticker, tostring(long_term), sma(close,ma_trend)) > request.security(syminfo.ticker, tostring(long_term), close) plot(request.security(syminfo.ticker, tostring(long_term), sma(close,ma_trend)), title="Long Term MA", linewidth=2) // FALSE = BEAR // TRUE = BULL // MED TERM MOMENTUM k = request.security(syminfo.ticker, tostring(med_term), sma(stoch(close, high, low, length), smoothK)) d = request.security(syminfo.ticker, tostring(med_term), sma(k, smoothD)) os = k >= OverBought or d >= OverBought ob = k <= OverSold or d <= OverSold // SHORT TERM MA X OVER bull_entry = long_term_trend == false and os == false and ob == false and k > d and request.security(syminfo.ticker, tostring(entry_position), crossover(sma(close, maSm), sma(close, maMed))) bear_entry = long_term_trend == true and os == false and ob == false and k < d and request.security(syminfo.ticker, tostring(entry_position), crossunder(sma(close, maSm), sma(close, maMed))) bull_exit = crossunder(k,d) bear_exit = crossover(k,d) if (bull_entry) strategy.entry("Long", strategy.long) if (bear_entry) strategy.entry("Short", strategy.short) strategy.close("Long", when = bull_exit == true) strategy.close("Short", when = bear_exit == true)