Basé sur la stratégie de la croix dorée et de la croix de la mort à double moyenne mobile


Date de création: 2024-02-27 16:21:02 Dernière modification: 2024-02-27 16:21:02
Copier: 0 Nombre de clics: 686
1
Suivre
1617
Abonnés

Basé sur la stratégie de la croix dorée et de la croix de la mort à double moyenne mobile

Aperçu

Cette stratégie est une stratégie de croisement de moyenne mobile typique, qui utilise simultanément deux ensembles de moyenne, un ensemble de moyenne rapide et un ensemble de moyenne lente. Elle génère un signal d’achat lorsqu’elle traverse la moyenne lente sur la moyenne rapide et un signal de vente lorsqu’elle traverse la moyenne lente en dessous de la moyenne rapide.

Principe de stratégie

La logique principale de cette stratégie est de juger le moment d’entrée et de sortie en fonction de la croisée de deux ensembles de moyennes rapides et lentes.

Tout d’abord, calculons deux ensembles de moyennes rapides et lentes:

  • Le premier groupe d’EMA rapide dure 8 jours.
  • Deuxième série d’EMA rapides de 21 jours
  • Le premier groupe de SMA lent dure 50 jours.
  • Deuxième phase de SMA lent de 200 jours

Ensuite, il faut déterminer si l’EMA rapide est déjà un SMA à fort ou à faible rendement:

  • Si l’EMA du 8e jour dépasse le SMA du 50e jour, c’est un signal de fourche
  • Si la EMA de 8 jours est inférieure à la SMA de 50 jours, c’est un signal de décalage.

Afin de filtrer les faux signaux, un deuxième groupe de confirmations EMA et SMA a été ajouté:

  • Le signal de négociation n’est émis que lorsque l’EMA du 21e jour a également franchi le SMA du 50e jour

De cette façon, avec deux ensembles de confirmation de ligne rapide et uniforme, de nombreux faux signaux peuvent être filtrés, ce qui améliore la fiabilité du signal.

Lorsque le jugement génère un signal d’achat, faites une entrée plus élevée; lorsque le jugement génère un signal de vente, faites une entrée à découvert.

En outre, la stratégie a également une logique de stop-loss. Lors de la tenue d’une position, les prix de stop-loss et de stop-loss sont suivis en fonction du ratio de gain et de perte défini.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. L’utilisation d’une combinaison de deux lignes homogènes permet de filtrer efficacement les faux signaux et d’améliorer l’exactitude du signal
  2. Utilisation d’une combinaison d’EMA et SMA, combinant la sensibilité de l’EMA aux dernières fluctuations de prix et la fluidité de la SMA
  3. Réglage du stop loss pour bloquer les bénéfices et contrôler les risques
  4. Les principes sont simples et clairs, faciles à comprendre et à modifier.
  5. Paramètres personnalisables, adaptés à différents environnements de marché

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. Les stratégies de ligne moyenne sont plus susceptibles de générer de petits profits et de petites pertes.
  2. Les pertes pourraient être plus importantes si la tendance change radicalement.
  3. Une mauvaise configuration des paramètres peut également entraîner une mauvaise rentabilité

Pour maîtriser les risques, il est recommandé:

  1. Adapter la combinaison de paramètres de manière appropriée pour s’adapter aux différentes conditions du marché
  2. Optimiser les paramètres en fonction des résultats de la rétroanalyse pour mieux adapter la stratégie au marché cible
  3. Réglage du stop-loss pour contrôler la taille des pertes individuelles

Direction d’optimisation

La stratégie peut également être optimisée dans les domaines suivants:

  1. Testez plus de combinaisons linéaires rapides et lentes pour trouver les combinaisons optimales
  2. L’apprentissage automatique ou l’algorithme génétique pour trouver automatiquement les paramètres de préférence
  3. Augmenter les indicateurs de jugement de tendance et éviter le trading à contre-courant
  4. Augmentation de la stop loss mobile ou de la stop loss mobile pour mieux localiser les bénéfices
  5. Renforcement de la fiabilité du signal en combinaison avec le volume de transactions ou la volatilité
  6. Combinaison de plusieurs stratégies/variétés pour une dispersion des risques en utilisant la non-corrélation

Résumer

Dans l’ensemble, la stratégie bi-homogénéisée de la fourchette est simple, intuitive et facile à mettre en œuvre. La stratégie peut être optimisée en fonction des paramètres du marché et de la demande. Elle peut également être utilisée avec d’autres indicateurs techniques ou combinaisons de stratégies.

Code source de la stratégie
/*backtest
start: 2023-02-20 00:00:00
end: 2024-02-26 00:00:00
period: 1d
basePeriod: 1h
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/
// © JMLSlop

//@version=4

src = close
strategy("Crossover moving averages", shorttitle="Cross MA-EMA", overlay=true, calc_on_order_fills=false)

// first fast EMA
len = input(8, "Length", type=input.integer, minval=1)
doma1 = input(true, title="EMA")
out1 = ema(src, len) 

//Second fast EMA
len2 = input(21, minval=1, title="Length")
doma2 = input(true, title="EMA")
out2 = ema(src, len2)

//First slow MA
len3 = input(50, minval=1, title="Length")
doma3 = input(true, title="SMA")
out3 = sma(src, len3)

//Second slow MA
len4 = input(200, minval=1, title="Length")
doma4 = input(true, title="SMA")
out4 = sma(src, len4)

// Profit
profit = input(8, "Profit/lost %", type=input.float, minval=1) * 0.01


plot(doma1 and out1 ? out1: na, color=color.blue, linewidth=1, title="1st EMA")
plot(doma2 and out2 ? out2: na, color=color.red, linewidth=1, title="2nd EMA")
plot(doma3 and out3 ? out3: na, color=color.green, linewidth=2, title="1st MA")
plot(doma4 and out4 ? out4: na, color=color.orange, linewidth=3, title="2nd MA")

// Orders config
takeProfitPrice =
     (strategy.position_size > 0) ? strategy.position_avg_price + open*profit : (strategy.position_size < 0) ? strategy.position_avg_price - (open*profit) : na

longStopPrice  = strategy.position_avg_price * (1 - profit)
shortStopPrice = strategy.position_avg_price * (1 + profit)

longCondition2 = (out2>out3 and (crossover(out1, out4) or crossover(out1[1], out4[1]) or crossover(out1[2], out4[2]) or (crossover(out1[3], out4[3]))) or (out2>out3 and (crossover(out1, out3) or crossover(out1[1], out3[1]) or crossover(out1[2], out3[2]) or crossover(out1[3], out3[3]))))
if (longCondition2)
    strategy.entry("Enter L", strategy.long)

shortCondition2 = (out2<out3 and (crossunder(out1, out4) or crossunder(out1[1], out4[1]) or crossunder(out1[2], out4[2]) or crossunder(out1[3], out4[3]))) or (out2<out3 and (crossunder(out1, out3) or crossunder(out1[1], out3[1]) or crossunder(out1[2], out3[2]) or crossunder(out1[3], out3[3])))
if (shortCondition2)
    strategy.entry("Enter S", strategy.short)


if (strategy.position_size > 0)
    strategy.exit("Exit L", limit=takeProfitPrice, stop=longStopPrice)

if (strategy.position_size < 0)
    strategy.exit("Exit S", limit=takeProfitPrice, stop=shortStopPrice)