Stratégie de négociation quantitative basée sur la comparaison quotidienne des prix de clôture

Auteur:ChaoZhang est là., Date: 2023-11-21 14h34 et 11h
Les étiquettes:

img

Résumé

Cette stratégie est appelée Strategy de comparaison de prix de clôture quotidienne. C'est une stratégie de trading quantitative qui prend des décisions de trading basées sur les prix de clôture quotidiens. La stratégie génère des signaux de trading en calculant la différence entre le prix de clôture quotidien actuel et le prix de clôture quotidien précédent. Lorsque la différence dépasse un seuil fixé, les ordres d'achat ou de vente sont exécutés.

La logique de la stratégie

La logique de base de cette stratégie est de comparer les prix de clôture entre le chandelier/barre actuel et le précédent.

  1. Calculer la différence entre le prix de clôture quotidien actuel et le prix de clôture quotidien précédent (aujourd'hui - hier)
  2. Calculer le rapport entre la différence et le prix de clôture d'hier (différence / clôture d'hier)
  3. Si le ratio est supérieur au seuil positif défini, un signal d'achat est généré; si le ratio est inférieur au seuil négatif défini, un signal de vente est généré.
  4. Entrez des positions longues ou courtes selon les signaux

La stratégie ne fixe pas de conditions d'arrêt des pertes ni de prise de profit et repose sur les signaux déclenchés par le seuil pour l'entrée et la sortie.

Analyse des avantages

  • Logique simple, facile à comprendre, adapté aux débutants du trading quantique
  • Ne s'appuie que sur les prix de clôture quotidiens, évite les transactions trop fréquentes
  • La fréquence de négociation peut être contrôlée en ajustant le seuil

Analyse des risques

  • Aucun stop loss, incapable de contrôler les pertes de transactions uniques
  • Peut générer des signaux de négociation consécutifs entraînant une sur-trading
  • Le recours peut être important, ne peut pas contrôler bien les pertes globales

Directions d'optimisation

  • Ajouter une logique de stop-loss pour contrôler les pertes d'une seule transaction
  • Nombre limité d'entrées à éviter en cas de suréchange
  • Optimiser les paramètres pour trouver la fréquence de négociation optimale

Conclusion

Cette stratégie génère des signaux de trading en comparant les prix de clôture quotidiens. La logique est simple et adaptée aux débutants. Mais elle comporte certains risques et nécessite une optimisation supplémentaire pour le trading en direct.


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

//@version=2
strategy("Daily Close Comparison Strategy (by ChartArt) correct 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 correct results", type=float, defval=0, step=0.004)

getDiff() =>
    yesterday=request.security(syminfo.tickerid, 'D', close[1])
    today=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