
La estrategia utiliza dos medias móviles configuradas en la línea diaria y la línea horaria para determinar la dirección de la tendencia general en la línea diaria y realizar una salida específica en la línea horaria. Hacer más cuando la línea diaria indica una tendencia alcista y la línea horaria ocurre en el horario dorado; cerrar posiciones cuando la línea diaria indica una tendencia alcista y la línea horaria ocurre en el horario muerto. Esta configuración nos permite evitar los efectos de las fluctuaciones del mercado a corto plazo mientras capturamos oportunidades de corto plazo en la gran tendencia.
Las principales ventajas de esta configuración de doble marco de tiempo son:
Los principales riesgos de esta estrategia son:
Estos riesgos pueden evitarse y reducirse mediante métodos como la relajación adecuada de la amplitud de stop loss, la optimización de la combinación de parámetros o el aumento de las condiciones de filtración.
La estrategia puede ser optimizada aún más:
Esta estrategia utiliza el análisis de doble marco de tiempo, basado en el juicio de la tendencia en general, para capturar oportunidades de línea corta. Configurar el doble EMA para eliminar el ruido. Esta configuración garantiza tanto la probabilidad de obtener ganancias como el control efectivo del riesgo.
/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Dual Time Frame Strategy", overlay=true)
// Define Daily Time Frame Inputs
lenShort = input.int(20, title="Short EMA Length (Daily)", minval=1)
lenLong = input.int(50, title="Long EMA Length (Daily)", minval=1)
// Calculate EMAs on Daily Time Frame
emaShort_D = ta.ema(close, lenShort)
emaLong_D = ta.ema(close, lenLong)
// Define Hourly Time Frame Inputs
lenShort_H = input.int(10, title="Short EMA Length (Hourly)", minval=1)
lenLong_H = input.int(30, title="Long EMA Length (Hourly)", minval=1)
// Calculate EMAs on Hourly Time Frame
emaShort_H = ta.ema(close, lenShort_H)
emaLong_H = ta.ema(close, lenLong_H)
// Daily Time Frame Condition
dailyUpTrend = emaShort_D > emaLong_D
// Hourly Time Frame Condition
hourlyBuy = ta.crossover(emaShort_H, emaLong_H)
hourlySell = ta.crossunder(emaShort_H, emaLong_H)
// Strategy Entry and Exit Conditions
if (dailyUpTrend and hourlyBuy)
strategy.entry("Buy", strategy.long)
if (dailyUpTrend and hourlySell)
strategy.close("Buy")
// Plot EMAs for Daily and Hourly Time Frames
plot(emaShort_D, color=color.blue, title="Short EMA (Daily)")
plot(emaLong_D, color=color.red, title="Long EMA (Daily)")
plot(emaShort_H, color=color.green, title="Short EMA (Hourly)")
plot(emaLong_H, color=color.orange, title="Long EMA (Hourly)")