Stratégie de trading Span basée sur le système double EMA


Date de création: 2023-09-20 11:39:40 Dernière modification: 2023-09-20 11:39:40
Copier: 0 Nombre de clics: 692
1
Suivre
1617
Abonnés

Aperçu

Cette stratégie consiste à calculer rapidement et lentement deux indicateurs EMA, générant des signaux d’achat et de vente en fonction de leur intersection. C’est une stratégie de suivi de tendance typique.

Principe de stratégie

La stratégie consiste à calculer rapidement et lentement deux lignes moyennes EMA, avec des cycles de 13 et 50 respectivement. La ligne rapide génère un signal d’achat lorsque la ligne lente est franchie de bas en haut et un signal de vente lorsque la ligne rapide est franchie de haut en bas.

Après avoir fait plus, si la ligne rapide tombe à nouveau sur la ligne lente, un signal de tête plane est généré; après avoir fait le vide, si la ligne rapide franchit à nouveau la ligne lente, un signal de tête plane est généré.

Analyse des avantages

La stratégie utilise le système de double EMA courant pour juger de la tendance du marché et des points d’entrée en fonction du croisement des EMA de différentes périodes. L’utilisation de la double EMA en combinaison permet de filtrer efficacement le bruit et d’identifier les tendances.

L’opération est simple, intuitive et facile à automatiser. Elle ne nécessite que des informations sur les prix et ne prend pas en compte d’autres facteurs complexes. Le cycle EMA peut être librement ajusté pour s’adapter à différentes conditions de marché.

Analyse des risques

Le double système de croisement EMA est généralement efficace pour reconnaître les variations de courbure. Dans les marchés à intervalles de choc, les signaux de croisement EMA sont fréquents et faciles à enfermer.

Il est possible d’élargir l’intervalle hebdomadaire entre les EMA de manière appropriée et de réduire la fréquence des croisements. Des indicateurs tels que le volume de transactions ou la volatilité peuvent également être ajoutés pour un jugement complémentaire. De plus, l’optimisation des stratégies de stop loss peut également réduire le risque de couverture.

Direction d’optimisation

  1. Tester l’optimisation des paramètres du cycle EMA pour trouver le paramètre optimal.

  2. Règles de jugement telles que l’indicateur d’augmentation de la quantité d’énergie ou l’indicateur de volatilité.

  3. Les conditions d’entrée sont plus strictes, notamment en cas de signal de rupture.

  4. Application de l’apprentissage automatique pour prédire les tendances des prix et aider l’EMA à déterminer la qualité du signal.

  5. Optimiser les stratégies de stop loss, par exemple en déplaçant le stop loss ou en l’encourageant à arrêter le stop loss.

  6. Modification dynamique des positions et optimisation de la gestion des fonds.

Résumer

Cette stratégie est un système de croisement de deux EMA typique, qui juge les tendances à partir d’une simple combinaison d’indicateurs. L’avantage est qu’elle est facile à réaliser, mais qu’elle est également susceptible de générer des faux signaux. La combinaison de plus d’indicateurs et l’optimisation des paramètres peuvent améliorer la stabilité de la stratégie.

Code source de la stratégie
/*backtest
start: 2023-09-12 00:00:00
end: 2023-09-12 22:00:00
period: 5m
basePeriod: 1m
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/
// © himanshumahalle

//@version=4
strategy("CROSS_ALGO SYSTEM")


// INPUT CONTROLS

lengthSEMA= input(title="LSEMA", type = input.integer, defval=13,minval=1,maxval=100,step=1)
lengthLEMA= input(title="LLEMA", type = input.integer, defval=50,minval=1,maxval=100,step=1)

//INDICATOR

SEMA= ema(close,lengthSEMA)
LEMA= ema(close,lengthLEMA)

// BUY AND SELL

buy = crossover(SEMA,LEMA)
sell = crossunder(SEMA,LEMA)

//EXITS

buyexit = crossunder(SEMA,LEMA)
sellexit = crossover(SEMA,LEMA)


//EXECUTION

strategy.entry("long",strategy.long,when=buy,comment = "Buy")
strategy.entry("short",strategy.short,when=sell,comment = "Sell")

strategy.close("long",when= buyexit , comment= "Sell")
strategy.close("short",when= sellexit , comment= "Buy")