Stratégie de trading à moyenne mobile sur plusieurs périodes


Date de création: 2023-10-09 15:05:47 Dernière modification: 2023-10-09 15:05:47
Copier: 0 Nombre de clics: 671
1
Suivre
1617
Abonnés

Aperçu

Cette stratégie est une stratégie de négociation qui combine la moyenne EMA avec plusieurs paramètres différents et l’indicateur d’énergie quantitative EOM pour réaliser des jugements de tendance sur plusieurs périodes, en construisant des jugements communs sur les lignes longues et courtes. Cette stratégie vise à exploiter la résonance des différentes moyennes périodiques sur plusieurs périodes et à découvrir des tendances plus efficaces.

Principe de stratégie

La stratégie utilise quatre ensembles de moyennes EMA paramétriques de différentes périodes, soit 13 EMAs, 21 EMAs, 50 EMAs et 180 EMAs. Ces quatre ensembles de moyennes EMA construisent plusieurs dimensions temporelles pour déterminer les tendances des prix et découvrir les modèles de tendances les plus efficaces à long terme.

La stratégie utilise l’indicateur de quantité d’énergie EOM pour confirmer la tendance. L’indicateur EOM, combiné au volume de transactions et à la volatilité des prix, permet de déterminer efficacement la direction de la force d’achat et de vente. La stratégie détermine que le EOM supérieur à 0 est un marché à capitaux multiples et le EOM inférieur à 0 est un marché à capitaux vides.

La stratégie impose deux options, l’option 1 est de faire plus lorsque l’EMA à court terme traverse l’EMA à long terme, l’option 2 est de faire plus lorsque l’EMA à court terme traverse l’EMA à moyen terme et l’option 3 est de faire plus lorsque l’EMA à court terme traverse l’EMA à moyen terme. Les deux options permettent de juger plus globalement de la confirmation de la tendance.

Avantages stratégiques

  • L’utilisation de l’EMA à périodes multiples pour déterminer les tendances permet de trouver des modèles de tendances plus longues
  • L’indicateur de capacité d’EOM permet de juger efficacement la direction des forces d’achat et de vente, et évite d’être induit en erreur par un réajustement temporaire.
  • Les deux modes d’entrée permettent de mieux identifier les tendances
  • La répartition des pertes par tranches de change pour réduire les pertes individuelles

Risque stratégique

  • L’EMA est en retard et risque de manquer une reprise rapide
  • L’indicateur de quantité d’énergie peut émettre un mauvais signal
  • Les critères d’admission sont incertains
  • La répartition des pertes de main peut être trop mécanisée

Direction d’optimisation

  • Plus de combinaisons de paramètres peuvent être testées sur des périodes EMA pour trouver des paramètres optimaux
  • D’autres indicateurs peuvent être ajoutés à la confirmation d’admission, comme le MACD
  • Le stop mobile peut être utilisé pour suivre la tendance
  • Le ratio de position peut être ajusté en fonction de la situation du marché

Résumer

Cette stratégie intègre des jugements EMA multi-périodes et des filtres d’indicateurs de quantité d’énergie, permettant le suivi de la tendance et l’élimination du bruit. Il y a encore beaucoup de place pour l’optimisation. La stabilité de la stratégie peut être encore améliorée en testant différentes combinaisons de paramètres et en ajoutant plus d’indicateurs.

Code source de la stratégie
/*backtest
start: 2022-10-02 00:00:00
end: 2023-10-08 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/
// © SoftKill21

//@version=4
strategy("4x ema + volume", overlay=true,initial_capital = 1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent , commission_value=0.1 )

//ema x 4
ema1l=input(13)
ema2l=input(21)
ema3l=input(50)
ema4l=input(180)

ema1=ema(close,ema1l)
ema2=ema(close,ema2l)
ema3=ema(close,ema3l)
ema4=ema(close,ema4l)

long1 = close > ema1 and ema1 > ema2 and ema2> ema3 and ema3 > ema4
long2 = crossover(ema1,ema2) and crossover(ema1,ema3)

short1 = close < ema1 and ema1 < ema2 and ema2< ema3 and ema3 < ema4
short2= crossunder(ema1,ema2) and crossunder(ema1,ema3)


//eom
length = input(14, minval=1)
div = input(10000, title="Divisor", minval=1)
eom = sma(div * change(hl2) * (high - low) / volume, length)


option1=input(true)
option2=input(false)

if(option1)
    strategy.entry("long",1,when=long1 and eom>0)
    strategy.close("long",when=short1 and eom<0)
 
if(option2)
    strategy.entry("long",1,when=long2 and eom>0)
    strategy.close("long",when=short2 and eom<0)