Stratégie quotidienne de la DCA avec les EMA

Auteur:ChaoZhang est là., Date: 2024-01-16 15h30 et 17h
Les étiquettes:

img

Résumé

Cette stratégie de script Pine implémente une approche de moyenne quotidienne du coût en dollars sur la plate-forme TradingView, incorporant des signaux tactiles EMA pour déterminer les points d'entrée.

La logique de la stratégie

La stratégie comporte les éléments clés suivants:

  1. Moyenne quotidienne du coût en dollars

    • Investissement journalier fixe indépendamment des hauts et des bas du marché
    • Investissements par lots à long terme visant à réduire le risque de transaction unique
  2. EMA pour les signaux d'entrée

    • Signal d'achat déclenché lorsque le prix de clôture dépasse la EMA 5, 10, 20 etc.
    • Les lignes EMA servent de support pour éviter les baisses à court terme
  3. Résultats de l'analyse

    • Vendre toutes les positions si le prix de clôture tombe en dessous de la SMA à 20 jours
    • Éviter de nouvelles pertes
  4. Limite du nombre de transactions

    • Caps max trades à 300 pour contrôler le dimensionnement des positions
    • Prévient le surinvestissement au-delà de la capacité des actifs

Plus précisément, chaque jour, la stratégie investit un montant fixe et calcule les actions à acheter en fonction du prix de clôture. Si le prix de clôture dépasse l'une des EMA de 5, 10, 20 jours, etc., un signal d'achat est déclenché. Une fois que le nombre de transactions accumulé atteint la limite de 300, aucun achat supplémentaire ne se produira. De plus, si le prix se ferme en dessous de la SMA de 20 jours ou atteint la date de sortie prédéfinie, toutes les positions sont effacées. Le script trace également les EMA sur le graphique des prix pour une analyse visuelle.

Analyse des avantages

Les avantages de cette stratégie sont les suivants:

  1. Diversification des risques

    • Investissements quotidiens de petite valeur fixe indépendamment de l'évolution du marché
    • Évitant de courir après les hauts
  2. La combinaison EMA évite les baisses

    • Les échanges croisés entre les EMA empêchent les achats dans les périodes de baisse
    • La poursuite des achats pendant les retraits diversifie le risque
  3. Législation relative à l'émission de gaz

    • Le stop loss permet des sorties en temps opportun
    • Prévient les pertes importantes
  4. Contrôle des limites commerciales Risques

    • La taille maximale de la position est prédéfinie pour éviter un investissement excessif
    • Maintient l'investissement dans la capacité des actifs
  5. Visualisation intuitive de l'EMA

    • EMAs représentées sur le graphique des prix
    • Permet une surveillance facile par l'opérateur
  6. Très personnalisable

    • Inputs personnalisés pour le montant de l'investissement, les périodes EMA, les arrêts, etc.
    • Réglages fondés sur les préférences personnelles en matière de risque

Analyse des risques

La stratégie comporte également certains risques:

  1. Des risques systémiques subsistent

    • Les événements du cygne noir peuvent entraîner de lourdes pertes.
    • La diversification ne fait que réduire les risques, mais ne les élimine pas
  2. Montant fixe de l'investissement

    • Les investissements journaliers fixes pourraient manquer leur avantage si les prix montent en flèche
    • L'ajustement dynamique du montant pourrait aider
  3. Les EMA ne peuvent pas réagir à des mouvements extrêmes

    • Les EMA réagissent plus lentement aux événements soudains et ne parviennent pas à arrêter les pertes à temps
    • En combinaison avec KD, BOLL peut aider à identifier les extrêmes
  4. Limites commerciales pour le potentiel de profit

    • Limite maximale des gains possibles
    • Nécessité d'équilibrer risques et avantages
  5. Le placement de Stop Loss nécessite des précautions

    • Les arrêts trop rapprochés ont tendance à être retirés prématurément tandis que les arrêts trop lâches ne protègent pas à temps
    • Des essais approfondis sont nécessaires pour trouver le bon équilibre

Améliorations à venir

D'autres optimisations:

  1. Montant d'investissement quotidien dynamique

    • Base des investissements quotidiens sur les indicateurs
    • Augmentation en hausse, diminution en baisse
  2. Signaux d'entrée supplémentaires

    • Compléter l'EMA par d'autres indicateurs tels que KD, BOLL
    • Améliorer l'identification des mouvements extrêmes
  3. Moyennes mobiles exponentielles

    • Les EMA réagissent lentement aux événements soudains, DEMA, TEMA peuvent aider
    • Une meilleure prise en compte des nouvelles tendances
  4. Limite de position dynamique

    • Limite d'augmentation fondée sur la rentabilité stratégique
    • Permet une exposition plus élevée à des évaluations équitables
  5. Perte de retard

    • La stratégie actuelle du marché vend tout, les arrêts de trailing pourraient aider à éviter les écarts vers le bas
    • Réduire le risque d'arrêt

Conclusion

En résumé, cette stratégie quotidienne de DCA combinée à l'EMA réalise le concept d'investissements périodiques à long terme, répartissant les risques sur plusieurs petites entrées par rapport aux gros achats ponctuels. Les EMA aident à éviter les risques de retrait à court terme dans une certaine mesure, tandis que le stop loss contrôle la perte maximale.


/*backtest
start: 2024-01-08 00:00:00
end: 2024-01-15 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Daily DCA Strategy with Touching EMAs", overlay=true, pyramiding=10000)

// Customizable Parameters
daily_investment = input(50000, title="Daily Investment")
start_year = input(2022, title="Start Year")
start_month = input(1, title="Start Month")
start_day = input(1, title="Start Day")
end_year = input(2023, title="End Year")
end_month = input(12, title="End Month")
end_day = input(1, title="End Day")
trade_count_limit = input(10000, title="Pyramiding Limit")
enable_sell = input(true, title="Enable Sell")

start_date = timestamp(start_year, start_month, start_day)
var int trade_count = 0

// Calculate the number of shares to buy based on the current closing price
shares_to_buy = daily_investment / close

// Check if a new day has started and after the start date
isNewDay = dayofmonth != dayofmonth[1] and time >= start_date

// Buy conditions based on EMA crossovers
ema5_cross_above = crossover(close, ema(close, 5))
ema10_cross_above = crossover(close, ema(close, 10))
ema20_cross_above = crossover(close, ema(close, 20))
ema50_cross_above = crossover(close, ema(close, 50))
ema100_cross_above = crossover(close, ema(close, 100))
ema200_cross_above = crossover(close, ema(close, 200))

if isNewDay and (ema5_cross_above or ema10_cross_above or ema20_cross_above or ema50_cross_above or ema100_cross_above or ema200_cross_above) and trade_count < trade_count_limit
    strategy.entry("Buy", strategy.long, qty=shares_to_buy)
    trade_count := trade_count + 1

// Dynamic sell conditions (optional)
sell_condition =  true

if enable_sell and sell_condition
    strategy.close_all()

// EMA Ribbon for visualization
plot(ema(close, 5), color=color.red, title="EMA 5")
plot(ema(close, 10), color=color.orange, title="EMA 10")
plot(ema(close, 20), color=color.yellow, title="EMA 20")
plot(ema(close, 50), color=color.green, title="EMA 50")
plot(ema(close, 100), color=color.blue, title="EMA 100")
plot(ema(close, 200), color=color.purple, title="EMA 200")


Plus de