Esta estrategia utiliza principalmente el rango de oscilación de precios y el juicio de tendencia de la línea K para encontrar oportunidades comerciales. Enviará señales comerciales cuando el precio rompa los puntos altos o bajos de la línea K anterior. Cuando la tendencia sube, vaya largo cuando el precio rompe el punto alto; Cuando la tendencia baja, vaya corto cuando el precio rompe el punto bajo.
Esta estrategia se basa principalmente en dos puntos:
Cuando el indicador es mayor de 0, indica una tendencia alcista, y cuando es menor de 0, indica una tendencia bajista.
El precio rompe el precio más alto o el precio más bajo de la línea K anterior. Ir largo en una tendencia alcista cuando se rompe el precio más alto, y ir corto en una tendencia bajista cuando se rompe el precio más bajo.
En concreto, la lógica de entrada de la estrategia es la siguiente:
Entrada larga:
Breve entrada:
Después de entrar en el mercado, el precio de stop loss o take profit se establece de acuerdo con un cierto porcentaje del precio de entrada.
Las principales ventajas de esta estrategia son las siguientes:
Capaz de capturar oportunidades a tiempo cuando la tendencia cambia.
Utilice el oscilador Klinger para determinar la dirección de la tendencia, evite el comercio sin dirección en el mercado oscilante.
Combine el promedio móvil para filtrar la fuga falsa.
Riesgos controlables, un stop loss razonable y obtener ganancias.
Los principales riesgos de esta estrategia son:
Puede haber más stop loss en el mercado oscilante.
El ajuste incorrecto del parámetro de la media móvil puede causar un error de juicio.
Una fuga fallida puede llevar a una pérdida de retirada.
Las pérdidas pueden aumentar cuando la tendencia se invierte.
Comercio frecuente, altos costos de comisión.
Los riesgos se pueden controlar optimizando los parámetros para encontrar períodos de promedio móvil más adecuados para reducir el error de juicio. Establecer una distancia de stop loss razonable para controlar la pérdida única. Comerciar variedades con tendencia obvia. Reducir adecuadamente la frecuencia de negociación.
Esta estrategia puede optimizarse en los siguientes aspectos:
Optimizar los parámetros de la media móvil para encontrar parámetros con mayor suavidad para reducir el ruido.
Prueba diferentes indicadores para determinar la tendencia y encuentra indicadores de determinación más confiables.
Optimizar las estrategias de stop loss y obtener ganancias para que estén más en línea con las características estadísticas del mercado.
Aumentar el filtrado de tendencias para evitar falsas rupturas en los mercados oscilantes.
Añadir el filtro de tiempo de negociación y variedad para seleccionar horas de negociación y variedades.
Configuración de parámetros de investigación para diferentes ciclos de tiempo.
En general, esta es una estrategia de ruptura relativamente simple y práctica. Sus ventajas son los riesgos controlables y evitar el comercio sin dirección mediante el uso de indicadores. Pero hay que prestar atención a prevenir la ruptura falsa en el mercado oscilante y el stop loss oportuno. Mejorar aún más la tasa de éxito de la estrategia a través de la optimización de parámetros y mejorar la confiabilidad del indicador. Esta estrategia es adecuada para mercados con tendencias obvias.
/*backtest start: 2022-10-20 00:00:00 end: 2023-10-26 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/ // © exlux99 //@version=4 strategy("Advanced OutSide Forex strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, calc_on_every_tick = true, commission_type = strategy.commission.percent, commission_value = 0.0) sv = change(hlc3) >= 0 ? volume : -volume kvo = ema(sv, 34) - ema(sv, 55) sig = ema(kvo, 13) length = input(title="Length", type=input.integer, defval=27) src = input(close, title="Source") lsma = hma(src, length) if (high > high[1] and low < low[1]) if (close > open and kvo>0 and lsma<close) strategy.entry("long", strategy.long, comment="long") if (high < high[1] and low > low[1]) if (close < open and kvo<0 and lsma>close) strategy.entry("short", strategy.short, comment="short") tplong=input(0.006, step=0.001, title="Take profit % for long") sllong=input(0.012, step=0.001, title="Stop loss % for long") tpshort=input(0.0075, step=0.001, title="Take profit % for short") slshort=input(0.015, step=0.001, title="Stop loss % for short") strategy.exit("short_tp/sl", "long", profit=close * tplong / syminfo.mintick, loss=close * sllong / syminfo.mintick, comment='LONG EXIT', alert_message = 'closeshort') strategy.exit("short_tp/sl", "short", profit=close * tpshort / syminfo.mintick, loss=close * slshort / syminfo.mintick, comment='SHORT EXIT', alert_message = 'closeshort')