Stratégie de direction dynamique des bougies

Auteur:ChaoZhang est là., Date: 2023-10-25 16:57:05 Je vous en prie.
Les étiquettes:

img

Résumé

Cette stratégie détermine la direction future de la bougie en analysant le prix de clôture par rapport au prix d'ouverture de N bougies passées.

La logique de la stratégie

La logique de base de cette stratégie est la suivante:

  1. Définir le paramètre NUM_CANDLES pour déterminer le nombre de bougies à analyser.

  2. Définir la fonction candle_dir pour déterminer la direction d'une seule bougie. close>open est haussier, close

  3. Définir la fonction count_candles pour compter le nombre de bougies avec une certaine direction dans les bougies NUM_CANDLES précédentes.

  4. Comptez le nombre de bougies haussières, baissières et neutres dans les bougies NUM_CANDLES passées, stockées en ups, dns, neu.

  5. Définissez l'indicateur indique, sa valeur est égale à ups-dns plus/moins neu.

  6. Déterminer l'entrée longue/courte sur la base de l'indicateur indique.

En analysant la direction de la bougie d'un certain nombre de bougies, cette stratégie estime la probabilité de la direction future de la bougie pour les décisions de trading.

Analyse des avantages

  1. La logique stratégique est claire et facile à comprendre, à interpréter et à vérifier.

  2. Seules les données de la bougie sont nécessaires, ce qui réduit les coûts de calcul.

  3. Facile à régler en réglant le paramètre NUM_CANDLES.

  4. Applicable à tous les produits et à tous les délais, haute adaptabilité.

  5. Facile à optimiser pour trouver la meilleure combinaison.

Analyse des risques

  1. Incapable de gérer le marché de la fourchette, peut provoquer un sur-échange.

  2. Une période d'échantillonnage inappropriée peut entraîner un décalage du signal, NUM_CANDLES nécessite un réglage minutieux.

  3. Incapable de s'adapter à un renversement de tendance, risque de perte en cas de renversement de tendance.

  4. L'impact sur les coûts de négociation doit être pris en considération pour éviter une sur- négociation.

  5. Veillez à ne pas suradapter l'optimisation des paramètres, exigez une vérification multi-marchés.

Directions d'optimisation

  1. Considérez l'ajout d'un stop loss à la perte limite.

  2. Combiner avec l'indicateur de tendance pour éviter les transactions contre-tendance.

  3. Augmenter la taille de l'échantillon ou utiliser un délai plus court pour améliorer la stabilité.

  4. Considérez la composition multi-marché pour améliorer le taux de victoire.

  5. Utiliser l'apprentissage automatique pour l'optimisation automatique des paramètres.

Conclusion

Cette stratégie détermine la direction du commerce en analysant la direction de la bougie, avec une logique claire et simple. La sensibilité est contrôlable grâce au réglage des paramètres. Les avantages sont la simplicité, les faibles exigences et une grande adaptabilité, mais certains risques existent et une optimisation supplémentaire est nécessaire pour améliorer la stabilité.


/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Refined CandleCounter Strategy by origo", overlay=true)

// how many candles to count
NUM_CANDLES = 7

// determine candle direction
candle_dir = close > open ? 1 : (round(close-open) == 0 ? 0 : -1)

// return # of candles with a given direction
count_candles(dir, max) =>
    count = 0
    for i = 0 to max
        if candle_dir[i] == dir
            count := count + 1
    count

ups = count_candles(1, NUM_CANDLES)
dns = count_candles(-1, NUM_CANDLES)
neu = count_candles(0, NUM_CANDLES)

indic = ups-dns


if indic > 0
    indic := indic+neu
else
    indic := indic-neu

plotarrow(neu, title="UP vs DN")

longCondition = (indic) > 0
shortCondition = (indic) <= 0

strategy.entry("buy", strategy.long, 1, when = longCondition and not shortCondition)
strategy.entry("sell", strategy.short, 1, when = shortCondition and not longCondition)


Plus de