Stratégie de négociation à court terme basée sur la différence de prix de clôture

Auteur:ChaoZhang est là., Date: 28 septembre 2023 à 15h08
Les étiquettes:

Résumé

Cette stratégie juge le mouvement futur des prix en analysant la différence entre les prix de clôture de deux jours consécutifs, dans le but de mettre en œuvre le trading à court terme.

La logique de la stratégie

La logique de base de cette stratégie consiste à comparer le prix de clôture d'aujourd'hui avec le prix de clôture d'hier.

  1. Calculer la différence entre le prix de clôture d'aujourd'hui et celui d'hier.
  2. Si la différence est supérieure au seuil fixé, alors le prix d'aujourd'hui a augmenté par rapport à celui d'hier.
  3. Si l'écart est inférieur au seuil négatif, le prix d'aujourd'hui est tombé par rapport à celui d'hier.
  4. Sinon, maintenez la position d'hier.

La clé ici est de fixer un seuil raisonnable. Si le seuil est trop grand, il manquera de plus petites fluctuations de prix. Si le seuil est trop petit, il déclenchera un trading excessivement irrationnel en raison de fluctuations normales. La stratégie adopte une conception de seuil réglable avec une valeur par défaut de 0,004 et une étape de 0,001. Des seuils appropriés peuvent être sélectionnés par backtesting basé sur des données historiques.

En résumé, cette stratégie capture les variations de prix entre deux jours de négociation consécutifs, juge les éventuelles tendances futures des prix en filtrant les fluctuations normales à travers les seuils et mène ainsi des transactions à court terme.

Les avantages de la stratégie

  • Une idée simple et intuitive, facile à comprendre et à mettre en œuvre
  • Aucun indicateur technique complexe, faible seuil d'expérience
  • Utiliser le prix de clôture, filtrer efficacement le bruit, augmenter la stabilité du signal
  • La conception de seuil réglable permet de trouver le paramètre optimal
  • Convient pour le trading à court terme, capture rapidement les variations de prix
  • Peut fonctionner dans divers environnements de marché

Risques liés à la stratégie

  • Probabilité d'écart de prix dans le prix de clôture, peut manquer les changements de prix
  • S'appuyer sur un seul indicateur, peut manquer d'autres informations importantes
  • Une mauvaise définition des seuils générera des signaux de négociation trop faux
  • Opérations à court terme fréquentes, les coûts de transaction peuvent être plus élevés
  • Nécessité d'une surveillance étroite et d'un ajustement rapide des paramètres

Pour lutter contre ces risques, considérez:

  1. Combiner d'autres indicateurs, tels que le volume des transactions, pour améliorer l'exactitude du signal
  2. Ajouter une logique de stop-loss pour contrôler une seule perte
  3. Optimiser les paramètres pour améliorer la qualité du signal
  4. Prolonger de manière appropriée le cycle de négociation afin de réduire la fréquence d'exploitation
  5. Améliorer la gestion des positions pour améliorer la rentabilité

Directions d'optimisation

La stratégie peut être optimisée dans les aspects suivants:

  1. Test en arrière-plan à plusieurs délais- Utiliser des délais différents (quotidien, de 4 heures, d'une heure, etc.) pour tester les paramètres en arrière-plan et sélectionner les délais et paramètres optimaux.

  2. Indicateurs de volatilité combinés- Ajouter des indicateurs qui tiennent compte de la volatilité des prix, tels que l'ATR, pour mieux établir les seuils dynamiques.

  3. Ajouter une logique de stop-loss- Fixez des points de stop-loss raisonnables pour contrôler les pertes uniques.

  4. Optimiser la gestion des positions- Optimiser la taille des positions initiales et les règles additionnelles pour augmenter la rentabilité tout en assurant un stop loss.

  5. Considérez les coûts de négociation- Ajoutez les coûts de négociation comme les commissions et les glissades dans le backtesting pour être plus proche du trading en direct.

  6. Introduire l'apprentissage automatique- Appliquer des algorithmes d'apprentissage automatique pour extraire plus de fonctionnalités et créer des signaux de trading plus forts.

Conclusion

Cette stratégie juge les tendances futures des prix en fonction des différences de prix de clôture, en utilisant une approche simple et intuitive pour concevoir des stratégies de trading à court terme. La stratégie est facile à mettre en œuvre et adaptée aux opérations à court terme, mais peut comporter certains risques de perte.


/*backtest
start: 2023-08-28 00:00:00
end: 2023-09-27 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Daily Close Comparison Strategy (by ChartArt) repainting results", shorttitle="CA_-_Daily_Close_Strat", overlay=false)

// ChartArt's Daily Close Comparison Strategy
//
// Version 1.0
// Idea by ChartArt on February 28, 2016.
//
// This strategy is equal to the very
// popular "ANN Strategy" coded by sirolf2009,
// but without the Artificial Neural Network (ANN).
//
// Main difference besides stripping out the ANN
// is that I use close prices instead of OHLC4 prices.
// And the default threshold is set to 0 instead of 0.0014
// with a step of 0.001 instead of 0.0001.
//
// This strategy goes long if the close of the current day
// is larger than the close price of the last day.
// If the inverse logic is true, the strategy
// goes short (last close larger current close).
//
// This simple strategy does not have any
// stop loss or take profit money management logic.
//
// List of my work: 
// https://www.tradingview.com/u/ChartArt/
// 
//  __             __  ___       __  ___ 
// /  ` |__|  /\  |__)  |   /\  |__)  |  
// \__, |  | /~~\ |  \  |  /~~\ |  \  |  
// 
// 

threshold = input(title="Price Difference Threshold repainting results", type=float, defval=0.004, step=0.001)

getDiff() =>
    yesterday=security(syminfo.tickerid, 'D', close[1])
    today=security(syminfo.tickerid, 'D', close)
    delta=today-yesterday
    percentage=delta/yesterday
    
closeDiff = getDiff()
 
buying = closeDiff > threshold ? true : closeDiff < -threshold ? false : buying[1]

hline(0, title="zero line")

bgcolor(buying ? green : red, transp=25)
plot(closeDiff, color=silver, style=area, transp=75)
plot(closeDiff, color=aqua, title="prediction")

longCondition = buying
if (longCondition)
    strategy.entry("Long", strategy.long)

shortCondition = buying != true
if (shortCondition)
    strategy.entry("Short", strategy.short)

Plus de