Stratégie Long-Short basée sur la moyenne mobile


Date de création: 2023-11-22 15:42:29 Dernière modification: 2023-11-22 15:42:29
Copier: 2 Nombre de clics: 596
1
Suivre
1617
Abonnés

Stratégie Long-Short basée sur la moyenne mobile

Aperçu

Cette stratégie est basée sur l’indicateur SMA et construit une simple stratégie de multi-marge. Faire plus lorsque le prix dépasse le SMA de 20 cycles, et faire moins lorsque le prix dépasse le SMA de 20 cycles.

Principe de stratégie

Cette stratégie utilise les SMA des plus hauts et des plus bas de 20 cycles comme indicateur de la marge de manœuvre. Lorsque le prix franchit le SMA le plus élevé, on considère qu’il est actuellement en tendance à la hausse, ce qui est plus; lorsque le prix franchit le SMA le plus bas, on considère qu’il est actuellement en tendance à la baisse, ce qui est vide.

Plus précisément, la stratégie commence par calculer les SMA des 20 cycles de hauts plus élevés et de bas plus bas, puis dessine une ligne de référence. La logique de négociation est la suivante:

Entrée en bourse à plusieurs niveaux: le cours de clôture est atteint à la SMA la plus élevée La position de l’opérateur sur le marché est de 0,99 fois plus élevée que la moyenne moyenne

Entrée en bourse à vide: la clôture se produit lorsque le cours atteint sa plus basse SMA
Sortie à zéro: 1,01 fois la plus basse SMA à la clôture

La stratégie de la multirésistance, qui fonctionne selon les tendances, est ainsi construite.

Analyse des avantages

Cette stratégie présente les avantages suivants:

  1. L’utilisation de l’indicateur SMA pour déterminer la direction de la tendance est simple et pratique
    1. Les HIGHEST SMA et LOWEST SMA jouent un rôle important dans l’indicateur en soutenant les lignes de résistance
    2. La conception de l’arrêt des pertes est raisonnable et permet d’éviter les pertes massives.
    3. Une grande polyvalence, avec des périodes et des variétés multiples

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. Le SMA est en retard et risque de manquer le point de basculement
  2. Mesures de prévention des événements inattendus du marché
  3. Les coûts de transaction ne sont pas pris en compte.

Ces risques peuvent être maîtrisés et atténués par la combinaison d’autres indicateurs, la définition de paramètres de stop loss et d’optimisation.

Direction d’optimisation

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

  1. Combiné avec d’autres indicateurs pour juger de la tendance, comme le MACD, le KDJ, etc.
  2. Ajout de mécanismes de protection contre les événements imprévus, tels que le traitement des situations exceptionnelles telles que la suspension des licences, les limites de prix
  3. Optimiser les paramètres du cycle SMA pour trouver la combinaison optimale
  4. Considérant les paramètres optimaux pour différentes variétés et différentes périodes de temps
  5. Évaluer l’impact sur les coûts de transaction et définir les meilleurs points d’arrêt et de perte

Résumer

L’idée générale de cette stratégie est claire et facile à mettre en œuvre. Les indicateurs SMA permettent de déterminer les tendances de la surpopulation et de mettre en place un mécanisme d’entrée et de sortie raisonnable.

Code source de la stratégie
/*backtest
start: 2023-11-14 00:00:00
end: 2023-11-21 00:00:00
period: 10m
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/
// © AlanAntony

//@version=4


strategy("ma 20 high-low",overlay=true)

//compute the indicators

smaH = sma(high, 20)
smaL = sma(low, 20)


//plot the indicators
plot(smaH,title="smaHigh", color=color.green, linewidth=2)


plot(smaL,title="smaLow", color=color.red, linewidth=2)


//trading logic
enterlong = crossover(close,smaH) //positive ema crossover
exitlong = crossunder(close,0.99*smaH)  //exiting long


entershort = crossunder(close,smaL) //negative EMA Crossover
exitshort = crossover(close,1.01*smaH) //exiting shorts


notintrade = strategy.position_size<=0
bgcolor(notintrade ? color.red:color.green)

//execution logic

start = timestamp(2015,6,1,0,0)
//end = timestamp(2022,6,1,0,0)

if time >= start
    strategy.entry( "long", strategy.long,1, when = enterlong)
    strategy.entry( "short", strategy.short,1, when = entershort) 
    
    strategy.close("long", when = exitlong)
    strategy.close("short", when = exitshort)

//if time >= end
   // strategy.close_all()