Stratégie d'inversion du déficit

Auteur:ChaoZhang est là., Date: 2023-09-19 16:19:51 Il a été arrêté à la suite d'une enquête.
Les étiquettes:

Résumé

Lorsque la bougie actuelle s'ouvre en dessous de la clôture précédente et termine la journée avec une clôture supérieure à l'ouverture, la stratégie entre en long sur l'ouverture ou la clôture du jour suivant.

Principe de stratégie

  1. Vérifiez si un écart vers le bas se produit, c'est-à-dire que l'ouverture actuelle est inférieure à la fermeture précédente.

  2. Si le débit est baissé, observez si le courant de fermeture est au-dessus de l'ouverture, indiquant un renversement à la hausse.

  3. Si les conditions d'inversion de l'écart vers le bas sont remplies, optez pour un long sur l'ouverture ou la clôture de la journée suivante.

  4. Définissez un stop loss à un pourcentage, par exemple 5%, après l'entrée.

  5. Lorsque le prix baisse pour atteindre le stop loss, la position est fermée.

Analyse des avantages

Principaux avantages de cette stratégie:

  1. Capture les opportunités de négociation de renversement des tendances à la baisse.

  2. Le schéma d'inversion à forte probabilité s'aligne avec une alternance peur/avidité.

  3. Le trailing stop bloque les bénéfices sans avoir besoin d'une surveillance manuelle.

  4. Des réglages flexibles pour l'entrée et le stop loss en fonction des stocks individuels.

  5. Exécution automatisée et test/optimisation arrière facile.

Analyse des risques

Principaux risques de cette stratégie:

  1. Des retours en arrière peuvent se produire, il faut vérifier le motif.

  2. Stop-loss surdimensionné susceptible d'être retiré conduisant à des pertes amplifiées.

  3. Une mauvaise sélection des stocks peut entraîner de dures inversions.

  4. Les données insuffisantes des tests antérieurs entraînent des risques de surentraînement.

  5. L'exécution est différente entre backtest et live.

Les solutions:

  1. Optimiser le niveau de stop loss et le pourcentage de perte maximale par transaction.

  2. Évaluez l'évolution globale du marché pour éviter le débordement des stocks.

  3. Vérifiez les changements de modèle et de volume.

  4. Élargir la taille de l'échantillon pour le backtest, simuler le trading en direct.

Directions d'optimisation

Quelques façons d'améliorer la stratégie:

  1. Ajouter un filtre de tendance pour éviter les entrées de contre-tendance.

  2. Ajustez dynamiquement le pourcentage de stop loss pour protéger les bénéfices.

  3. Envisagez d'ajouter un filtre de temps au trading à des dates spécifiques.

  4. Évaluer la résistance du motif pour la dimensionnement de la position.

  5. Testez différentes périodes de rétention pour trouver les points de sortie optimaux.

Résumé

La stratégie d'inversion de l'écart vers le bas capitalise sur des modèles d'inversion à forte probabilité. Les arrêts contrôlent efficacement le risque, mais méfiez-vous des faux rebonds et des conditions changeantes du marché. Lors du trading en direct, une évaluation prudente des modèles et des tendances ainsi que des optimisations continues sont recommandées.


/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-12 04:00:00
period: 1m
basePeriod: 1m
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/
// © RolandoSantos

//@version=2

strategy(title="Gap Down reversal strat", overlay=true, pyramiding=1, default_qty_type =  strategy.cash, default_qty_value = 10000, initial_capital = 10000 )

/// Start date

startDate = input(title="Start Date", defval=1, minval=1, maxval=31)
startMonth = input(title="Start Month", defval=1, minval=1, maxval=12)
startYear = input(title="Start Year", defval=2009, minval=1800, maxval=2100)


// See if this bar's time happened on/after start date
afterStartDate = (time >= timestamp(syminfo.timezone, startYear, startMonth, startDate, 0, 0))

// STEP 1:
// Configure trail stop level with input options (optional)
longTrailPerc = input(title="Trail Long Loss (%)",
     type=float, minval=0.0, step=0.1, defval=5.0) * 0.01


// Calculate trading conditions
gap_d_r = open < close[1] and close > open


// Plot Shapes
plotshape(gap_d_r, style=shape.triangleup, location=location.belowbar)
///plotshape(gap_u_r, style=shape.triangledown, location=location.abovebar)

///// Use Low, or close/////

//hlco = input(title="Stop Modifier", defval="close", options=["open", "high", "low"])


// STEP 2:
// Determine trail stop loss prices
longStopPrice = 0.0   ///, shortStopPrice = 0.0

longStopPrice := if (strategy.position_size > 0)
    stopValue = close * (1 - longTrailPerc)
    max(stopValue, longStopPrice[1])
else
    0


// Plot stop loss values for confirmation
plot(series=(strategy.position_size > 0) ? longStopPrice : na,
     color=red, style=circles,
     linewidth=1, title="Long Trail Stop")


// Submit entry orders
if (afterStartDate and gap_d_r)
    strategy.entry(id="EL", long=true)


// Submit exit orders for trail stop loss price
if (strategy.position_size > 0)
    strategy.exit(id="Stop out", stop=longStopPrice)















Plus de