Stratégie d'interconnexion entre plusieurs EMA

Auteur:ChaoZhang est là., Date: 21 septembre 2023 à 12h56
Les étiquettes:

Résumé

Cette stratégie combine des EMA de 8 jours, 13 jours, 21 jours et 55 jours et génère des signaux longs et courts lorsque des croisements se produisent entre eux, dans le but de capturer les tendances à moyen et long terme.

La logique de la stratégie

  1. Les valeurs EMA de 8 jours, 13 jours, 21 jours et 55 jours sont calculées.

  2. Lorsque les EMA de 8 jours, 13 jours et 21 jours dépassent tous les EMA de 55 jours, le signal long est déclenché.

  3. Lorsque les EMA de 8 jours, 13 jours et 21 jours franchissent tous l'intervalle inférieur à l'EMA de 55 jours, le signal court est déclenché.

  4. Allez long sur la croix d'or, allez court sur la croix de la mort.

  5. Prise de position sur le croisement arrière.

Analyse des avantages

  1. Une combinaison de plusieurs EMA efficace pour filtrer les fausses fuites.

  2. L'EMA de 55 jours comme ancre évite d'être piégé.

  3. Le backtest montre des rendements annuels stables au cours des 10 dernières années.

  4. Crossover visuel, simple à utiliser, adapté aux débutants.

Analyse des risques

  1. Les paramètres fixes peuvent ne pas convenir à tous les produits et marchés, une optimisation indépendante est nécessaire.

  2. Inefficace sur les marchés variés, risque des coupes et des arrêts fréquents.

  3. Aucun stop loss incapable de limiter les pertes d'une seule transaction.

  4. La fréquence des échanges peut être trop élevée ou trop faible, des ajustements de paramètres sont nécessaires.

  5. L'échantillon de 10 ans est limité, nous avons besoin de plus de données pour vérifier la robustesse.

Directions d'optimisation

  1. Testez les combinaisons de périodes EMA pour trouver la meilleure correspondance.

  2. Ajoutez un filtre de volume pour éviter les fausses éruptions.

  3. Mettre en œuvre un stop loss fixe ou mobile.

  4. Optimiser la taille des positions pour réduire le risque par transaction.

  5. Échangez les deux côtés long et court.

  6. Élargir les tests à plus de produits et à un délai plus long.

Résumé

Cette stratégie identifie les tendances à moyen et long terme en utilisant des croisements EMA de manière visuelle intuitive. Les atouts sont la visibilité et la simplicité. Mais les paramètres ont besoin de plus d'optimisation et manquent de contrôle des risques. Plus d'indicateurs techniques devraient être introduits pour filtrer les signaux et les arrêts ajoutés pour limiter les pertes.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © ColinMccann18
//@version=4

// +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// --------------------------------------------------------------RULES------------------------------------------------------------------------------
// - VISUALLY REPRESENTS THE CROSSING OF 8,13,21,55 EMA'S FROM KROWNS PROGRAM 
strategy(title="CM EMA Trend Cross STRAT", shorttitle="CM EMA Strat", overlay=true)

ema8  = ema(close,8)
ema13 = ema(close, 13)
ema21 = ema(close, 21)
ema55 = ema(close, 55)

//PLOT
plot(ema8,  title="EMA 1",linewidth=2, color=#00eeff)
plot(ema13, title="EMA 2",linewidth=2, color=#fff900)
plot(ema21, title="EMA 3",linewidth=2, color=#42ff0f)
plot(ema55, title="EMA 4",linewidth=2, color=#8b49ff)

//LOGIC---------------------------------------------------------------------------------------------------------------------------------
emacrossover = crossover(ema21, ema55) and ema8 and ema13 > ema55
emacrossunder = crossunder(ema21, ema55) and ema8 and ema13 < ema55

//Long----------------------------------------------------------------------------------------------------------------------------------
longCondition = emacrossover
closelongCondition = emacrossunder

strategy.entry("Long", strategy.long, qty=na, when=longCondition)
strategy.close("Close Long", when=closelongCondition)

//Short----------------------------------------------------------------------------------------------------------------------------------
shortCondition = emacrossunder
closeshortCondition = emacrossover

strategy.entry("Short", strategy.short,qty=na, when=shortCondition)
strategy.close("Close Short", when=closeshortCondition)



Plus de