Stratégie de négociation d'inversion du candelabre Doji

Auteur:ChaoZhang est là., Date: 2023-09-27 16:40:28 Je suis désolé.
Les étiquettes:

Résumé

Cette stratégie identifie les modèles de chandeliers doji et combine les SMA pour déterminer les renversements pour le trading. Elle génère des signaux de trading lorsque les modèles doji se forment et que les prix d'ouverture/fermeture sont en dehors des lignes SMA. Les signaux haussiers sont générés sur les lignes pendantes de l'homme et les signaux baissiers sur les lignes des étoiles filantes.

Principaux

Les principaux principes de cette stratégie sont les suivants:

  1. Identifier les modèles de doji en calculant la fourchette des prix d'ouverture/fermeture par rapport au mouvement global des prix.

  2. Vérifiez si la clôture précédente est supérieure/inférieure au niveau actuel élevé/faible pour éviter de faux signaux.

  3. Les prix d'ouverture et de clôture sont évalués par rapport aux lignes SMA afin de générer des signaux d'inversion.

  4. Générer des signaux longs/courtes lorsque des modèles doji qualifiés sont identifiés.

Les principales étapes du code sont les suivantes:

  1. Calcul des lignes SMA

  2. En boucle à travers les bougies pour identifier les motifs de doji

  3. Vérification de la relation proche antérieure par rapport à la relation haute/faible actuelle

  4. Confirmation des signaux d'inversion basés sur la relation ouverture/fermeture et SMA

  5. Tracer des marqueurs de signaux et émettre des signaux longs/courts

Les avantages

Les avantages de cette stratégie sont les suivants:

  1. Les modèles Doji sont clairs et faciles à identifier/implémenter.

  2. Les filtres SMA aident à réduire les faux signaux.

  3. Des signaux longs/courtes clairs facilitent les opérations de négociation.

  4. Le trading inverse capte les tendances à court terme.

  5. Les paramètres flexibles peuvent s'adapter aux différentes conditions du marché.

  6. Facile à comprendre et à mettre en œuvre, adapté aux débutants.

Les risques

Quelques risques potentiels:

  1. Il s'appuie sur un modèle unique, sujet aux fausses fuites.

  2. Aucun mécanisme d'arrêt des pertes pour contrôler les pertes.

  3. Un mauvais réglage des paramètres peut conduire à un sur-échange.

  4. Elle dépend de la tendance, elle est moins performante sur les marchés en tendance.

  5. Les performances dépendent de l'optimisation des paramètres.

Les solutions:

  1. Ajoutez d'autres filtres pour confirmer les signaux.

  2. Mettre en œuvre un stop loss pour gérer les risques.

  3. Optimiser les paramètres et limiter la fréquence des échanges.

  4. Utiliser principalement sur les marchés à plage.

  5. Tests et optimisation continus.

Les domaines d'amélioration

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

  1. Ajoutez un filtre de volume pour éviter les fausses éruptions.

  2. Mettre en œuvre des mécanismes de stop-loss tels que le stop-loss de suivi.

  3. Optimiser les paramètres en fonction des conditions du marché comme les tendances.

  4. Ajouter d'autres indicateurs pour confirmer les signaux, comme le MACD, le KDJ, etc.

  5. Ajouter la détermination de tendance pour éviter les transactions contre-tendance.

  6. Optimiser la période de révision pour équilibrer la fréquence et la qualité.

Résumé

Cette stratégie utilise des modèles de doji avec SMA pour un trading d'inversion efficace. Elle présente des avantages tels que des règles simples et un trading facile. Mais elle comporte également des risques et des domaines d'amélioration.

Je ne sais pas.


/*backtest
start: 2022-09-20 00:00:00
end: 2023-09-26 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Doji Reversal", overlay=true)

smaPeriod = input(title="SMA Period", defval=10, minval=0)
tolerance = input(title="Tolerance", defval=0.1, minval=0)

lookbackEnd = input(title="End", defval=2, minval=0)

avg = sma(close, smaPeriod)
signal_long = bool(false)
signal_short = bool(false)

for i = 1 to lookbackEnd
    is_doji = (abs(close[i] - open[i]) / (high[i] - low[i])) < tolerance
    signal_long := signal_long or ( is_doji and (close[i-1] <= high[i] or i == 1) and close[i-1] > high[i] and high[i] < avg and close > open )
    signal_short := signal_short or ( is_doji and (close[i-1] >= low[i] or i == 1) and close[i-1] < low[i] and low[i] > avg and close < open )

plotshape(signal_long, "LONG", style=shape.triangleup, size=size.normal)
plotshape(signal_short, "SHORT", style=shape.triangledown, size=size.normal)

strategy.entry("LONG", strategy.long, when=signal_long)
strategy.entry("SHORT", strategy.short, when=signal_short)

Plus de