Stratégie de cassure rapide et lente de la Golden Cross EMA


Date de création: 2023-12-01 18:02:24 Dernière modification: 2023-12-01 18:02:24
Copier: 0 Nombre de clics: 751
1
Suivre
1619
Abonnés

Stratégie de cassure rapide et lente de la Golden Cross EMA

Aperçu

La stratégie de rupture croisée rapide des EMA en or est une stratégie simple et efficace pour suivre les tendances du marché. Elle utilise la moyenne des EMA de différentes périodes pour effectuer des ruptures croisées, générant des signaux d’achat et de vente. L’idée de base est la suivante: lorsque les EMA de courte période traversent les EMA de longue période, un signal d’achat est généré; lorsque les EMA de courte période traversent les EMA de longue période, un signal de vente est généré.

Principe de stratégie

La stratégie repose principalement sur la comparaison des moyennes des EMA de 5 cycles, 8 cycles et 13 cycles pour générer des signaux de négociation. Elle comprend:

  1. Calculez l’EMA à 5 cycles, à 8 cycles et à 13 cycles.
  2. Un signal d’achat est généré lorsque l’EMA de 5 cycles est traversée par l’EMA de 8 cycles et de 13 cycles.
  3. Un signal de vente est généré lorsque l’EMA à 5 cycles est inférieure à l’EMA à 8 cycles et à 13 cycles.
  4. En combinaison avec l’indicateur ADX pour déterminer la force de la tendance, le signal est émis uniquement lorsque la tendance est suffisamment forte.

Ainsi, on obtient l’effet de suivre la tendance de la longue ligne moyenne. Lorsque la courte moyenne périodique traverse la longue moyenne périodique sur la ligne moyenne, cela signifie que la tendance à court terme se transforme en tête de série et peut être achetée; lorsque la courte moyenne périodique traverse la longue moyenne périodique sous la ligne moyenne, cela signifie que la tendance à court terme se transforme en tête de série et devrait être vendue.

Analyse des avantages

Les principaux avantages de cette stratégie sont les suivants:

  1. L’opération est simple et facile à mettre en œuvre.
  2. L’effet d’aplatissement de la ligne moyenne de l’EMA est utilisé pour suivre les tendances.
  3. La mise en œuvre d’une combinaison multi-groupes d’EMA permettra d’éviter les faux signaux.
  4. Le signal est plus fiable avec l’indicateur ADX.
  5. Les retraits et les pertes maximales ne sont pas très élevés.

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. Le stop loss peut être plus important en cas de forte reprise de la tendance.
  2. La fréquence des transactions est plus élevée, ce qui peut entraîner des frais de transaction. Les paramètres EMA peuvent être ajustés de manière appropriée pour réduire la fréquence des transactions.

Direction d’optimisation

Cette stratégie peut être optimisée dans les directions suivantes:

  1. Optimiser les paramètres EMA pour trouver la meilleure combinaison de paramètres
  2. Ajout d’autres filtres tels que KDJ, BOLL, etc. pour améliorer la qualité du signal.
  3. Adaptation de la gestion des positions et optimisation du contrôle des risques.
  4. L’utilisation de l’apprentissage automatique pour trouver de meilleures règles d’entrée et de sortie

Résumer

En résumé, la stratégie de rupture rapide de la croix d’or EMA fonctionne bien dans l’ensemble, le signal est plus fiable, la retraite est faible et convient au suivi de la tendance de la ligne moyenne longue. Par l’optimisation des paramètres et l’amélioration des règles, il est possible d’obtenir de meilleurs résultats stratégiques.

Code source de la stratégie
/*backtest
start: 2023-11-23 00:00:00
end: 2023-11-30 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// 
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © gregoirejohnb
// @It is modified by ttsaadet.
// Moving average crossover systems measure drift in the market. They are great strategies for time-limited people.
// So, why don't more people use them?
// 

//
strategy(title="EMA Crossover Strategy by TTS", shorttitle="EMA-5-8-13 COS by TTS", overlay=true, pyramiding=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100, currency=currency.TRY,commission_type=strategy.commission.percent,commission_value=0.04, process_orders_on_close = true, initial_capital = 100000)

// === GENERAL INPUTS ===
//strategy start date
start_year = input(defval=2020, title="Backtest Start Year")

// === LOGIC ===
short_period = input(type=input.integer,defval=5,minval=1,title="Length")
mid_period = input(type=input.integer,defval=8,minval=1,title="Length")
long_period = input(type=input.integer,defval=13,minval=1,title="Length")
rsi_period = input(type=input.integer,defval=14,minval=1,title="Length")
longOnly = input(type=input.bool,defval=false,title="Long Only")
shortEma = ema(close,short_period)
midEma = ema(close,mid_period)
longEma = ema(close,long_period)

rsi = rsi(close, rsi_period)

[diplus, diminus, adx] = dmi(short_period, short_period)
plot(shortEma,linewidth=2,color=color.red,title="Fast")
plot(midEma,linewidth=2,color=color.orange,title="Fast")
plot(longEma,linewidth=2,color=color.blue,title="Slow")

longEntry = crossover(shortEma,midEma) and crossover(shortEma,longEma) //or ((shortEma > longEma) and crossover(shortEma,midEma)))and (adx > 25)
shortEntry =((shortEma < midEma) and crossunder(shortEma,longEma)) or ((shortEma < longEma) and crossunder(shortEma,midEma))

plotshape(longEntry ? close : na,style=shape.triangleup,color=color.green,location=location.belowbar,size=size.small,title="Long Triangle")
plotshape(shortEntry and not longOnly ? close : na,style=shape.triangledown,color=color.red,location=location.abovebar,size=size.small,title="Short Triangle")
plotshape(shortEntry and longOnly ? close : na,style=shape.xcross,color=color.black,location=location.abovebar,size=size.small,title="Exit Sign")

// === STRATEGY - LONG POSITION EXECUTION ===
enterLong() =>
    longEntry and 
       time > timestamp(start_year, 1, 1, 01, 01)
exitLong() =>
    crossunder(shortEma,longEma) or crossunder(close, longEma)

strategy.entry(id="Long", long=strategy.long, when=enterLong())
strategy.close(id="Long", when=exitLong())


// === STRATEGY - SHORT POSITION EXECUTION ===

enterShort() =>
    not longOnly and shortEntry and 
       time > timestamp(start_year, 1, 1, 01, 01)
exitShort() =>
    crossover(shortEma,longEma)

strategy.entry(id="Short", long=strategy.short, when=enterShort())
strategy.close(id="Short", when=exitShort())