Cette stratégie utilise des signaux croisés de l’indicateur William et filtre avec les moyennes mobiles, permettant une stratégie de négociation de courte ligne plus flexible. Cette stratégie peut capturer des situations de survente et de survente plus claires, tandis que le filtrage des moyennes mobiles évite d’être affecté par les fluctuations du marché, ce qui a une plus grande stabilité.
Calculer l’indicateur de William ((%R) et la moyenne mobile simple à 200 cycles.
Faites plus lorsque l’indicateur William franchit la ligne 50 et atteint la limite fixée et que le prix de clôture est supérieur à la moyenne mobile.
Le cours de l’indicateur William est à la baisse au-dessous de la ligne 50 lorsqu’il atteint sa limite de fixation et que le cours de clôture est inférieur à la moyenne mobile.
Après avoir réalisé une plus-value, la position est levée si le prix de clôture atteint le point d’arrêt (prix d’entrée plus le point d’arrêt) ou le point d’arrêt (prix d’entrée moins le point d’arrêt).
Après avoir été libérée, la position est levée si le prix de clôture atteint le point d’arrêt ((prix d’entrée moins le point d’arrêt)) ou le point d’arrêt ((prix d’entrée plus le point d’arrêt)).
Cette stratégie exploite pleinement les caractéristiques de l’indicateur William de surachat et de survente, en combinaison avec le jugement de la tendance des moyennes mobiles, pour rendre les signaux de négociation plus clairs et plus fiables. La stratégie de stop-loss est également plus claire et plus concise, et est globalement un système de stratégie de courte ligne plus complet.
L’indicateur William est efficace pour identifier les situations de survente et les signaux sont plus clairs.
Le filtrage des moyennes mobiles améliore le jugement des tendances et évite les chocs.
Les paramètres de l’indicateur et le filtre sont personnalisables et peuvent être ajustés de manière flexible.
La plupart des bénéfices peuvent être bloqués grâce à des arrêts de suivi de tendance.
Les règles de signaux stratégiques sont simples, claires et faciles à comprendre, adaptées aux transactions sur courte ligne.
Adapté à une variété de variétés, flexible et universel.
L’indicateur William est en retard et risque de manquer certaines opportunités.
Les moyennes mobiles ont aussi un problème de retard en tant que filtres.
Les jugements stricts sur les surachats et les surventeurs peuvent manquer certaines opportunités de tendance.
Les stop-loss trop faibles peuvent être affectés par les fluctuations de prix.
Le blocage des pertes est trop élevé et peut limiter les bénéfices.
Les paramètres doivent être adaptés aux différents environnements de marché.
Optimiser les paramètres de l’indicateur pour améliorer le taux de réussite de la stratégie.
Ajouter d’autres indicateurs pour filtrer, comme le MACD, le KDJ, etc.
Essayez différents types de moyennes mobiles, comme les moyennes mobiles indicielles.
Il est important d’avoir un bon jugement des tendances et de ne négocier que dans la direction de la tendance.
Optimiser les stratégies de stop-loss, telles que le stop-loss dynamique, le stop-loss à l’échelle, etc.
Essayez d’ajouter une gestion de position, comme une position fixe, une martingale, etc.
L’apprentissage automatique est utilisé pour trouver les meilleures combinaisons de paramètres.
Cette stratégie intègre les jugements de survente et de survente de l’indicateur William et le filtre de tendance de la moyenne mobile pour former une stratégie de courte ligne simple et pratique. Elle a des signaux de négociation clairs et des règles 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")