Stratégie de trading quantitative basée sur la comparaison quotidienne des cours de clôture


Date de création: 2023-11-21 14:34:11 Dernière modification: 2023-11-21 14:34:11
Copier: 0 Nombre de clics: 782
1
Suivre
1617
Abonnés

Stratégie de trading quantitative basée sur la comparaison quotidienne des cours de clôture

Aperçu

Cette stratégie est appelée stratégie de comparaison de prix de clôture de la ligne de clôture de la journée. Elle est une stratégie quantitative pour prendre des décisions de négociation basées sur le prix de clôture de la ligne de clôture de la journée.

Principe de stratégie

La logique centrale de la stratégie est de comparer le prix de clôture de la ligne K actuelle avec le prix de clôture de la ligne K précédente.

  1. Calculer la différence entre le prix de clôture de la ligne journalière actuelle et le prix de clôture de la ligne journalière précédente ((today - yesterday))
  2. Calculer la différence par rapport à la clôture du jour précédent (difference / yesterday’s close)
  3. Si le ratio est supérieur au seuil positif, un signal d’achat est généré; si le ratio est inférieur au seuil négatif, un signal de vente est généré.
  4. En fonction du signal, faites plus ou videz le magasin.

La stratégie ne définit pas de conditions de stop-loss et de stop-loss, et repose sur des signaux de négociation formés par des conditions de dépréciation pour entrer dans des positions de paix.

Analyse des avantages

  • Le concept est simple et facile à comprendre, adapté aux débutants en trading quantitatif.
  • Évitez les transactions trop fréquentes basées uniquement sur le cours de clôture de la ligne solaire.
  • La fréquence des transactions peut être contrôlée en ajustant la valeur de la marge

Analyse des risques

  • Aucun paramètre de stop-loss, aucun contrôle de perte individuelle
  • Les signaux de trading en continu peuvent conduire à des transactions excessives
  • Les retraits pourraient être plus importants et les pertes globales moins contrôlées.

Direction d’optimisation

  • Augmentation de la logique d’arrêt des pertes et contrôle des pertes individuelles
  • Augmentation du nombre de prises de position pour éviter les sur-opérations
  • Optimiser les paramètres pour trouver la meilleure fréquence de négociation

Résumer

Cette stratégie est simple et adaptée pour l’apprentissage d’un débutant. Cependant, la stratégie comporte un certain risque et doit être optimisée pour les transactions en bourse.

Code source de la stratégie
/*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)