Tendance croisée de l' EMA à la suite de la stratégie

Auteur:ChaoZhang est là., Date: 2023-12-27 16h31 et 15h
Les étiquettes:

img

Résumé

Cette stratégie adopte un croisement EMA pour suivre les tendances des prix. Elle va long lorsque l'EMA rapide traverse au-dessus de l'EMA lente, et ferme la position lorsque l'EMA rapide traverse au-dessous de l'EMA lente. Principalement adapté aux produits avec des tendances évidentes, suivant efficacement les tendances et obtenant des rendements excédentaires.

La logique de la stratégie

L'indicateur de base de cette stratégie est l'EMA.

Le montant de l'impôt sur les sociétés est calculé en fonction de l'impôt sur les sociétés.

où t est le tick actuel, C(t) est le prix de clôture actuel et n est la valeur du paramètre N. L'EMA est une technique de moyenne mobile avec un facteur pondéré, attribuant plus de poids aux prix récents, réagissant ainsi plus rapidement aux derniers changements de prix.

La stratégie construit des EMA rapides et lents et prend le franchissement rapide de l'EMA au-dessus de l'EMA lente comme signal d'achat, et le franchissement rapide de l'EMA au-dessous de l'EMA lente comme signal de vente.

Analyse des avantages

Les avantages de cette stratégie sont les suivants:

  1. La logique est simple et facile à comprendre et à mettre en œuvre;
  2. Utiliser l'EMA simple et pratique pour juger des tendances des prix, en évitant de manquer des tendances majeures;
  3. Peu de paramètres à ajuster et à optimiser, en s'appuyant principalement sur des EMA rapides et lents;
  4. Capable de suivre les tendances à la hausse après l'achat;
  5. Capable d'éviter les retraits après vente, atténuant les risques;
  6. Données de backtest suffisantes avec une fiabilité élevée.

Analyse des risques

Les principaux risques sont les suivants:

  1. Une forte probabilité de faux signaux émis par l'EMA;
  2. Signal fréquent lorsque le marché est dans une fourchette car les EMA se croisent facilement;
  3. Incapacité d'arrêter les pertes en temps opportun lorsque des événements soudains entraînent un changement brusque de direction;
  4. L'espace d'optimisation limité que les performances réelles peuvent sous-performer les résultats des backtests.

Pour réduire les risques susmentionnés, les mesures d'optimisation suivantes peuvent être adoptées:

  1. Ajout des conditions de filtrage avec d'autres indicateurs pour éviter les faux signaux;
  2. réglage des paramètres pour réduire la fréquence du signal;
  3. Ajout d'une stratégie de stop loss pour contrôler les pertes uniques;
  4. Je teste différents paramètres pour trouver le meilleur.

Directions d'optimisation

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

  1. Indicateurs composés sur plusieurs périodes, par exemple combinant les tendances hebdomadaires ou mensuelles;
  2. Ajout de conditions de filtrage pour éviter une fausse rupture, par exemple volume, bandes de Bollinger, etc.
  3. ajustement dynamique des paramètres en fonction des variations du marché en temps réel;
  4. Incorporation d'autres indicateurs pour construire des modèles, par exemple grille, algorithmes de régression.

Résumé

En résumé, il s'agit d'une stratégie de suivi de tendance simple et pratique utilisant l'EMA pour juger des tendances des prix. La logique est claire et facile à mettre en œuvre. Les avantages résident dans la simplicité d'ajuster les paramètres et de suivre efficacement les tendances. Les inconvénients sont sujets à de faux signaux et les performances réelles peuvent être inférieures aux backtests. Les prochaines étapes d'optimisation peuvent se concentrer sur l'ajout de filtres, de paramètres dynamiques, de modélisation pour rendre la stratégie plus robuste.


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

//@version=4
strategy("EMA交叉策略by GPT",
     format = format.inherit,
     overlay = true,
     default_qty_type= strategy.percent_of_equity,
     default_qty_value = 100,
     currency = currency.USD,
     initial_capital = 1000000)


// 定義回測交易開始和結束時間的變數
start_time = input(title="開始時間", type=input.time, defval=timestamp("01 Jan 2020 00:00 +0000"))
end_time = input(title="結束時間", type=input.time, defval=timestamp("31 Dec 2050 23:59 +0000"))


// 判斷是否在回測交易時間範圍內
in_range = true


// Define input variables
fast_length = input(title="Fast EMA Length", type=input.integer, defval=5)
slow_length = input(title="Slow EMA Length", type=input.integer, defval=20)


// Define EMAs
fast_ema = ema(close, fast_length)
slow_ema = ema(close, slow_length)


// Define buy and sell signals
buy_signal = crossover(fast_ema, slow_ema)
sell_signal = crossunder(fast_ema, slow_ema)


// Buy signal
if in_range and buy_signal
    strategy.entry("Buy", strategy.long, when=in_range)
   
// Sell signal
if in_range and sell_signal
    strategy.close("Buy", when=sell_signal)

Plus de