Les ressources ont été chargées... Je charge...

Stratégie d'inversion de la barre de broches filtrée par tendance

Auteur:ChaoZhang est là., Date: 2024-06-07 16:48:23 Je suis désolé
Les étiquettes:SMAIndice de résistancePB

img

Résumé

Cette stratégie vise principalement à identifier les points d'inversion potentiels du marché en reconnaissant un modèle de chandelier spécifique appelé la barre de broches. Une barre de broches est caractérisée par une longue ombre et un petit corps, indiquant une volatilité significative du marché à ce niveau de prix, mais finalement le prix se rétracte, suggérant que le niveau peut agir comme un support ou une résistance.

Principes de stratégie

  1. Tout d'abord, déterminez la taille relative des ombres supérieures et inférieures et du corps de la barre d'épingles, exigeant que l'ombre supérieure ou inférieure soit d'au moins 60% de l'ensemble de la plage haute-basse du chandelier, tandis que le corps ne doit pas dépasser 30%.
  2. Comparer les prix de clôture et d'ouverture pour déterminer si la barre Pin est haussière ou baissière.
  3. Utiliser la SMA à 50 périodes pour identifier la tendance actuelle, en considérant qu'elle est une tendance haussière lorsque le prix de clôture est supérieur à la SMA et une tendance à la baisse lorsqu'elle est inférieure.
  4. Le filtre de volume doit être réglé sur le seuil SMA de volume de 20 périodes, en tenant compte d'un signal Pin Bar valable uniquement si le volume à son occurrence est supérieur à cette valeur.
  5. Tracez les barres de pointe haussières et baissières.
  6. Entrer dans une position longue lorsqu'un Pin Bar haussier apparaît et une position courte lorsqu'un Pin Bar baissier apparaît.
  7. Pour les positions longues, placez le stop loss en dessous du bas de la barre Pin et le take profit au-dessus de son haut; inversement pour les positions courtes.

Analyse des avantages

  1. Le Pin Bar est un modèle d'inversion des prix très intuitif et efficace, capable de capturer avec précision les changements soudains du sentiment du marché.
  2. Le filtre de tendance garantit que les signaux Pin Bar s'alignent sur la direction actuelle de la tendance, améliorant considérablement le taux de gain du signal.
  3. La condition de volume filtre le bruit du marché avec une liquidité insuffisante, assurant ainsi aux signaux Pin Bar une participation suffisante au marché.
  4. Les positions stop-loss et take profit sont fixées sur la base des caractéristiques de la barre pin, offrant un ratio risque/rendement raisonnable.
  5. La logique et les règles du code sont claires et faciles à comprendre et à mettre en œuvre.

Analyse des risques

  1. La fiabilité des signaux Pin Bar peut être considérablement réduite sur les marchés agités, où le filtre de tendance est moins efficace.
  2. Les barres de pin peuvent échouer face à des événements baissiers ou haussiers exceptionnellement forts.
  3. La fréquence des échanges est relativement faible, ce qui peut entraîner un manque d'échantillons de backtest.
  4. Les paramètres par défaut peuvent nécessiter une optimisation supplémentaire pour des instruments et des délais spécifiques.
  5. En tant que système à signal unique, le risque global est relativement élevé.

Directions d'optimisation

  1. Considérez l'introduction d'autres modèles d'inversion tels que les barres intérieures pour enrichir les sources de signal.
  2. Utiliser des indicateurs de volatilité comme l'ATR pour ajuster dynamiquement les positions de stop loss et de profit afin de s'adapter aux différentes conditions du marché.
  3. Mettez en place un pourcentage de retard pour maximiser les profits.
  4. Incorporer des données plus fondamentales, telles que les calendriers économiques et les événements importants, pour filtrer les signaux potentiellement invalides.
  5. Mettre en place un module de gestion de fonds pour contrôler l'exposition au risque de chaque transaction.

Résumé

Cette stratégie d'inversion de la barre de broches utilise une approche simple et efficace, en utilisant le filtrage de tendance et le filtrage du volume pour améliorer la précision de la reconnaissance du signal. Bien qu'il y ait place à l'amélioration, le concept global est viable et digne d'une optimisation et d'un test supplémentaires.


/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Filtered Pin Bar Strategy with Relaxed Volume", overlay=true)

// Define the size of the pin bar's wick and body
wickSize = 0.6
bodySize = 0.3

// Calculate the size of the wicks and body
upperWick = high - math.max(open, close)
lowerWick = math.min(open, close) - low
body = math.abs(close - open)

// Define a simple moving average to determine the trend
smaLength = 50
sma = ta.sma(close, smaLength)

// Define a more relaxed volume threshold
volumeThreshold = ta.sma(volume, 20) * 1.0

// Define RSI parameters
rsiLength = 14
rsiOverbought = 70
rsiOversold = 30
rsi = ta.rsi(close, rsiLength)

// Define the conditions for a bullish pin bar
bullishPinBar = (lowerWick > (wickSize * (high - low))) and
     (body < (bodySize * (high - low))) and
     (close > open) and
     (close > sma) and
     (volume > volumeThreshold)

// Define the conditions for a bearish pin bar
bearishPinBar = (upperWick > (wickSize * (high - low))) and
     (body < (bodySize * (high - low))) and
     (close < open) and
     (close < sma) and
     (volume > volumeThreshold)

// Plot the bullish and bearish pin bars on the chart
plotshape(series=bullishPinBar, title="Bullish Pin Bar", location=location.belowbar, color=color.green, style=shape.labelup, text="PB")
plotshape(series=bearishPinBar, title="Bearish Pin Bar", location=location.abovebar, color=color.red, style=shape.labeldown, text="PB")

// Entry and exit rules
if (bullishPinBar)
    strategy.entry("Bullish Pin Bar", strategy.long)
if (bearishPinBar)
    strategy.entry("Bearish Pin Bar", strategy.short)

// Optional: Set stop loss and take profit
stopLoss = 2 * body
takeProfit = 3 * body
strategy.exit("Exit Long", from_entry="Bullish Pin Bar", stop=low - stopLoss, limit=high + takeProfit)
strategy.exit("Exit Short", from_entry="Bearish Pin Bar", stop=high + stopLoss, limit=low - takeProfit)


Relationnée

Plus de