Esta estrategia utiliza promedios móviles simples de puntos altos y puntos bajos en comparación con el precio de cierre actual para determinar entradas y salidas.
Calcule la media móvil simple de los precios altos de 4 períodos.
Calcular la media móvil simple de precios bajos de 4 períodos.
Ir largo cuando el precio de cierre se rompe por encima del punto SMA más alto.
Ir corto cuando el precio de cierre se rompe por debajo del punto bajo SMA.
Utilice stop loss fijo y tome ganancias para la gestión de riesgos.
Utiliza indicadores sencillos, fáciles de entender e implementar.
El tiempo captura las señales de ruptura de precios de los cruces de SMA.
Puede filtrar rápidamente el ruido e identificar tendencias.
Los cálculos ligeros reducen los gastos generales de la estrategia.
Adecuado como estrategia de base para las extensiones.
Se requieren parámetros razonables para evitar la hipersensibilidad.
Incapaz de manejar los riesgos de las grandes fugas.
Posibilidades de pérdidas de la sierra en los rangos.
No puede ajustar automáticamente las paradas y límites.
Es difícil juzgar el contexto de tendencia a largo plazo.
Prueba de diferentes parámetros para determinar el impacto en la calidad de la señal.
Añadir filtros para validar la eficacia de las fugas.
Incorpore análisis de tendencias para evitar trampas.
Desarrollar paradas y límites dinámicos.
Optimice las paradas para mejorar la tasa de ganancias.
Prueba de robustez en diferentes plazos.
Esta estrategia utiliza indicadores simples para medir el impulso de los precios y proporciona un marco básico de trading de tendencias. Con mejoras adicionales como la optimización de parámetros y los controles de riesgos, la lógica de trading es altamente extensible en un sistema cuantitativo robusto.
/*backtest start: 2023-09-11 00:00:00 end: 2023-09-13 00:00:00 period: 30m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("HiLo", overlay=true) // Testing a specific period testStartYear = input(2017, "Backtest Start Year") testStartMonth = input(4, "Backtest Start Month") testStartDay = input(1, "Backtest Start Day") testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0) testStopYear = input(2017, "Backtest Stop Year") testStopMonth = input(5, "Backtest Stop Month") testStopDay = input(1, "Backtest Stop Day") testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0) // A switch to control background coloring of the test period testPeriodBackground = input(title="Color Background?", type=bool, defval=true) testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na bgcolor(testPeriodBackgroundColor, transp=97) testPeriod() => time >= testPeriodStart and time <= testPeriodStop ? true : false //HiLo Strategy length = input(4, minval=0) displace = input(0, minval=0) highsma = sma(high, length) lowsma = sma(low, length) longCondition = close > highsma[displace] if (longCondition) strategy.entry("long", true) shortCondition = close < lowsma[displace] if (shortCondition) strategy.entry("short", false) // Exit seems with a problem. it keeps saying the order's limit (2000) was reached even if I back test it just for a day. // If the two lines bellow are commented, then it it works. Anyone? Any idea what's wrong? // strategy.exit("exit", "long", profit=10, loss=5) // strategy.exit("exit", "short", profit=10, loss=5)