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.
Les valeurs EMA de 8 jours, 13 jours, 21 jours et 55 jours sont calculées.
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é.
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é.
Allez long sur la croix d'or, allez court sur la croix de la mort.
Prise de position sur le croisement arrière.
Une combinaison de plusieurs EMA efficace pour filtrer les fausses fuites.
L'EMA de 55 jours comme ancre évite d'être piégé.
Le backtest montre des rendements annuels stables au cours des 10 dernières années.
Crossover visuel, simple à utiliser, adapté aux débutants.
Les paramètres fixes peuvent ne pas convenir à tous les produits et marchés, une optimisation indépendante est nécessaire.
Inefficace sur les marchés variés, risque des coupes et des arrêts fréquents.
Aucun stop loss incapable de limiter les pertes d'une seule transaction.
La fréquence des échanges peut être trop élevée ou trop faible, des ajustements de paramètres sont nécessaires.
L'échantillon de 10 ans est limité, nous avons besoin de plus de données pour vérifier la robustesse.
Testez les combinaisons de périodes EMA pour trouver la meilleure correspondance.
Ajoutez un filtre de volume pour éviter les fausses éruptions.
Mettre en œuvre un stop loss fixe ou mobile.
Optimiser la taille des positions pour réduire le risque par transaction.
Échangez les deux côtés long et court.
Élargir les tests à plus de produits et à un délai plus long.
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)