Stratégie de polygone à moyenne mobile


Date de création: 2023-10-31 14:53:50 Dernière modification: 2023-10-31 14:53:50
Copier: 1 Nombre de clics: 674
1
Suivre
1617
Abonnés

Stratégie de polygone à moyenne mobile

Aperçu

La stratégie de multi-horizon mobile est une stratégie de suivi de la tendance qui consiste à construire un multi-horizon à travers plusieurs cycles différents et à traverser le multi-horizon comme signal de transaction. La stratégie prend en compte de manière globale plusieurs facteurs de périodes de temps, ce qui permet de filtrer efficacement le bruit du marché et de capturer les principales tendances.

Principe de stratégie

La stratégie consiste à insérer des lignes moyennes EMA de différentes périodes, telles que les EMA de 3 périodes, 7 périodes et 13 périodes, et à les dessiner sur le graphique des prix pour former un canal polygonal. Des signaux multiples sont générés lorsque le prix traverse plusieurs lignes moyennes EMA au-dessus; des signaux blancs sont générés lorsque le prix traverse plusieurs lignes moyennes EMA en dessous.

Le code définit le signal de rupture supérieur en utilisant close>ema1 et ema1>ema2 et ema2>ema3, close

Avantages stratégiques

Le plus grand avantage de cette stratégie réside dans la capacité de saisir efficacement la direction des principales tendances, de construire un mécanisme de filtrage à l’aide de plusieurs lignes uniformes mobiles, d’éviter d’être influencé par le bruit à court terme du marché et de réduire les faux signaux.

Risques et solutions

Le risque principal de cette stratégie réside dans l’incapacité de définir les points de basculement de la tendance, qui peuvent entraîner des pertes en cas de revers de tendance. En outre, un ensemble de lignes de moyenne incorrect peut entraîner une fréquence de négociation trop élevée ou un retard de signal.

Direction d’optimisation

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

  1. Optimiser les paramètres périodiques de la moyenne mobile pour trouver la meilleure combinaison de paramètres

  2. Ajouter des signaux de retournement tels que RSI, MACD, etc. à un point de basculement de la tendance pour arrêter la perte en temps opportun

  3. Optimiser l’amplitude et la déviation des arrêts mobiles pour réduire la probabilité que les arrêts soient déclenchés

  4. Optimisation des paramètres pour les différentes variétés afin d’améliorer l’adaptabilité des stratégies

Résumer

La stratégie de la plurilateralisation mobile est une stratégie de suivi de la tendance fiable et efficace. Son plus grand avantage est qu’elle capte la direction de la tendance principale tout en filtrant considérablement le bruit.

Code source de la stratégie
/*backtest
start: 2023-09-30 00:00:00
end: 2023-10-30 00:00:00
period: 1h
basePeriod: 15m
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/
// © Crypto-Oli

//@version=4
strategy("BLANK Strategy + TSL", initial_capital=5000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, pyramiding=1, commission_value=0.075, overlay=true)

////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
 
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
 
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
 
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
 
////////////////////////////////////////////////////////////////////////////////


/// YOUR INPUTS BELOW - DELET EXAPLES ///


ema1=ema(close,input(3))
ema2=ema(close,input(7))
ema3=ema(close,input(13))


/// PLOTS IF YOU NEED BELOW - DELET EXAPLES ///


plot(ema1, "EMA1", color.yellow)
plot(ema2, "EMA2", color.white)
plot(ema3, "EMA3", color.blue)


/// YOUR CONDITIONS BELOW - DELET EXAPLES ///


longCondition = close>ema1 and ema1>ema2 and ema2>ema3 and time_cond
shortCondition = close<ema1 and ema1<ema2 and ema2<ema3 and time_cond

/// EXECUTION ///


if (longCondition)
    strategy.entry("Long", strategy.long)
strategy.exit("Long Exit", "Long", trail_points = close * 0.05 / syminfo.mintick, trail_offset = close * 0.02 / syminfo.mintick)

if (shortCondition)
    strategy.entry("Short", strategy.short)
strategy.exit("Short Exit", "Short", trail_points = close * 0.05 / syminfo.mintick, trail_offset = close * 0.02 / syminfo.mintick)