Esta es una estrategia de entrada cruzada de media móvil doble basada en la media móvil de 5 días (MA5). La idea principal de esta estrategia es entrar en posiciones a cierta distancia por encima o por debajo de la MA5, y cerrar posiciones cuando el precio de cierre es mayor que el precio de entrada o se devuelve al precio de entrada.
Esta estrategia utiliza la media móvil simple de 5 días (SMA) como indicador principal. Cuando el precio de apertura de una nueva vela está por encima del MA5, ejecuta el escenario de compra 1; cuando el precio de apertura de una nueva vela está por debajo del MA5 y la distancia desde el MA5 supera los 0,002 puntos, ejecuta el escenario de compra 2. Para las condiciones de venta, cuando el precio de cierre es mayor o igual al precio de entrada promedio, ejecuta el escenario de venta 1; cuando el precio de cierre es inferior al 0,1% del precio de entrada promedio, ejecuta el escenario de venta 2.
Esta doble estrategia de entrada de media móvil cruzada es una estrategia simple basada en tendencias a corto plazo. Al cruzar por encima y por debajo del MA5 y establecer umbrales de distancia, se pueden capturar oportunidades de tendencia a corto plazo. Al mismo tiempo, los stop-loss de porcentaje fijo pueden controlar los riesgos. Sin embargo, esta estrategia también tiene algunas limitaciones, como confiar en un solo indicador y comerciar con frecuencia. En el futuro, se pueden introducir más indicadores y se pueden optimizar las condiciones de stop-loss y take-profit para mejorar la robustez y adaptabilidad de la estrategia.
/*backtest start: 2023-04-24 00:00:00 end: 2024-04-29 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("YBS Strategy 1.1", overlay=true) // Moving Average Settings ma5 = ta.sma(close, 5) // Scenario 1: Buy when a new candle opens above the MA5 buy_condition_scenario1 = open > ma5 // Scenario 2: Buy when a new candle opens below the MA5 and is at a significant distance from the MA5 distance_from_ma5 = open - ma5 buy_condition_scenario2 = open < ma5 and distance_from_ma5 > 0.002 // Define distance in points here // Sell: Sell at the close of the candle if it's positive above the entry price, or if the price returns to the entry price sell_condition_scenario1 = close > strategy.position_avg_price or close == strategy.position_avg_price sell_condition_scenario2 = close <= strategy.position_avg_price * 0.999 // Close if price drops more than 0.1% from entry price // Execute buy and sell orders if (buy_condition_scenario1 and not (strategy.opentrades > 0)) strategy.entry("Buy Scenario 1", strategy.long) if (buy_condition_scenario2 and not (strategy.opentrades > 0)) strategy.entry("Buy Scenario 2", strategy.long) if (sell_condition_scenario1) strategy.close("Buy Scenario 1") if (sell_condition_scenario2) strategy.close("Buy Scenario 2")