Esta estrategia utiliza señales cruzadas de índice de William y se filtra en combinación con las medias móviles, lo que permite una estrategia de negociación de línea corta más flexible. La estrategia puede capturar situaciones de sobreventa y sobrecompra más claras, mientras que el filtro de las medias móviles evita ser afectado por las fluctuaciones del mercado y, por lo tanto, tiene una mayor estabilidad.
Calcula el indicador de William ((%R) y el promedio móvil simple de 200 ciclos.
Haga más cuando el índice William rompa la línea de 50 hacia arriba y alcance el umbral establecido y el precio de cierre esté por encima de la media móvil.
Cuando el índice William descienda por debajo de la línea 50 y alcance el umbral establecido, y el precio de cierre esté por debajo de la media móvil, haga una salida.
Después de hacer una ganancia, si el precio de cierre alcanza el punto de parada (el precio de entrada más el punto de parada) o el punto de parada (el precio de entrada menos el punto de parada).
Después de la apertura, si el precio de cierre alcanza el punto de parada (precio de entrada menos el punto de parada) o el punto de parada (precio de entrada más el punto de parada) se cancela la posición.
La estrategia aprovecha las características de sobreventa y sobreventa del índice William, combinadas con el juicio de tendencias de las medias móviles, para que las señales de negociación sean más claras y confiables. La estrategia de stop loss también es más clara y concisa, y en general es un sistema de estrategia de línea corta más completo.
El índice William es eficaz para identificar las situaciones de sobreventa y sobrecompra, y las señales son más claras.
El filtro de las medias móviles aumenta el juicio de la tendencia y evita el impacto de la oscilación.
Los parámetros del indicador y el filtro son personalizables y se pueden ajustar con flexibilidad.
La mayoría de las ganancias se pueden bloquear mediante el seguimiento de la tendencia.
Las reglas de las señales estratégicas son sencillas, claras y fáciles de entender, y son adecuadas para operaciones en línea corta.
Aplicable a muchas variedades, flexible y general.
El índice William está rezagado y puede haber perdido algunas oportunidades.
También hay un problema con las medias móviles como filtro.
La rigurosa evaluación de la sobrecompra y la sobreventa puede haber perdido algunas oportunidades de tendencia.
Un stop loss demasiado pequeño puede ser afectado por una oscilación de precios.
El cierre de pérdidas es demasiado grande y puede limitar las ganancias.
Los parámetros deben ajustarse para adaptarse a las diferentes condiciones del mercado.
Optimización de los parámetros de los indicadores para mejorar la tasa de éxito de las estrategias.
Añadir otros indicadores para filtrar, como MACD, KDJ, etc.
Prueba diferentes tipos de medias móviles, como las medias móviles exponenciales.
Aumentar el conocimiento de tendencias y comerciar solo en la dirección de la tendencia.
Optimización de las estrategias de stop-loss, como el stop dinámico, el stop de escalado, etc.
Trate de agregar administración de posiciones, como posiciones fijas, Martingale, etc.
Utiliza el aprendizaje automático para encontrar la mejor combinación de parámetros.
Esta estrategia integra los juicios de sobrecompra y sobreventa del índice William y el filtro de tendencias de las medias móviles para formar una estrategia de línea corta simple y práctica. Tiene una clara señal de negociación y una regla de stop loss.
/*backtest
start: 2023-08-19 00:00:00
end: 2023-09-18 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Williams %R Cross Strategy with MA Filter", overlay=true)
// User Inputs
wrLength = input(14, title="Williams %R Length")
crossPips = input(10, title="Cross Threshold (Pips)")
takeProfitPips = input(30, title="Take Profit (Pips)")
stopLossPips = input(20, title="Stop Loss (Pips)")
// Calculate Williams %R
wrHigh = ta.highest(high, wrLength)
wrLow = ta.lowest(low, wrLength)
wr = (wrHigh - close) / (wrHigh - wrLow) * -100
// Calculate 200-period Simple Moving Average
ma200 = ta.sma(close, 200)
// Entry Conditions
enterLong = ta.crossover(wr, -50 - crossPips) and close > ma200
enterShort = ta.crossunder(wr, -50 + crossPips) and close < ma200
// Exit Conditions
exitLong = close >= (strategy.position_avg_price + (takeProfitPips / syminfo.mintick)) or close <= (strategy.position_avg_price - (stopLossPips / syminfo.mintick))
exitShort = close <= (strategy.position_avg_price - (takeProfitPips / syminfo.mintick)) or close >= (strategy.position_avg_price + (stopLossPips / syminfo.mintick))
// Order Management
if enterLong
strategy.entry("Long", strategy.long)
if enterShort
strategy.entry("Short", strategy.short)
if exitLong
strategy.close("Long")
if exitShort
strategy.close("Short")