Tendance à la triple EMA à la suite de la stratégie

Auteur:ChaoZhang est là., Date: 2023-12-20 à 15h44
Les étiquettes:

img

Résumé

La stratégie Triple EMA Trend Following est une stratégie très adaptée pour suivre les tendances du marché. Elle utilise trois EMA de périodes différentes comme signaux de trading pour établir des positions longues ou courtes lorsqu'il y a une confirmation de tendance suffisante.

L'avantage de cette stratégie est qu'elle peut réduire les faux signaux et assurer une force de tendance suffisante avant d'entrer dans une position.

La logique de la stratégie

Logique d'entrée

La stratégie utilise des EMA à 7-, 14 et 21 périodes comme indicateurs de signal d'entrée. La logique spécifique est que lorsque le prix franchit simultanément les trois EMA, passez long; lorsque le prix franchit simultanément les trois EMA, passez court.

Cette conception permet de réduire les faux signaux et de s'assurer que la tendance est suffisamment claire avant d'entrer.

Méthode de réduction des pertes

La stratégie utilise un système de stop loss adaptatif basé sur l'ATR et le drawdown maximum. Elle calcule la volatilité des prix en temps réel et définit des lignes de stop loss en conséquence. Plus précisément, elle calcule un certain multiple d'ATR comme zone tampon de stop loss.

Lors d'une tendance haussière, la ligne de stop loss se déplacera vers le haut avec de nouveaux sommets, avec un bon effet de poursuite. Lorsque le prix retombe au point le plus bas de la zone tampon, la ligne de stop loss sera déclenchée pour fermer les positions. Cela peut contrôler le risque de stop loss en fonction des conditions du marché.

Méthode de prise de profit

La stratégie utilise une méthode de prise de profit en pourcentage fixe. Après l'ouverture d'une position, une ligne de prise de profit sera fixée à un certain pourcentage au-dessus du prix d'entrée. Lorsque le prix monte à la ligne de prise de profit, la position sera fermée pour prendre des profits.

L'avantage de ce pourcentage fixe de prise de profit est qu'il permet de préétablir un niveau de profit cible qui satisfera la sortie une fois atteinte.

Analyse des avantages

  • Peut réduire les faux signaux et assurer une tendance de prix relativement forte après l'ouverture de positions
  • Utiliser la superposition des périodes de la MLE pour capturer rapidement les tendances du marché
  • Le système de stop loss adaptatif peut contrôler le risque basé sur la volatilité
  • Pourcentage fixe de prise de bénéfice satisfait à l'objectif de profit avant la sortie
  • La méthode d'arrêt des pertes basée sur l'ATR et le tirage maximal peut être optimisée en fonction des conditions du marché
  • Facile à ajuster le style de stratégie en changeant les paramètres

Analyse des risques

  • Dans les marchés variés, les EMA peuvent produire des croisements fréquents, se laissant facilement piéger.
  • Les bénéfices fixes ne peuvent pas être ajustés en fonction des conditions du marché, peuvent manquer des bénéfices plus élevés ou augmenter les pertes
  • Après avoir arrêté de suivre le stop loss, incapable de suivre de nouveaux sommets, les baisses de prix peuvent augmenter les pertes
  • Dans les tendances explosives unilatérales, le pourcentage de profit fixe peut être trop conservateur et ne pas obtenir suffisamment de profits.

Peut éviter d'ouvrir aveuglément des positions sur des marchés volatils en les combinant avec des indicateurs de jugement de tendance; peut également utiliser des méthodes mobiles de rapport de profit ou de rapport de profit pour rendre les méthodes de profit plus flexibles.

Directions d'optimisation

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

  1. Utilisez plus d'indicateurs pour déterminer le moment de l'entrée, tels que MACD, KD, etc., pour éviter d'être pris au piège dans des marchés volatils.

  2. Essayez de déplacer prendre profit, ou rapport de profit prendre profit méthodes, pour rendre prendre profit méthodes plus souples.

  3. Ajouter un mécanisme de suivi à la baisse à la méthode de stop loss, permettant de suivre à nouveau les points inférieurs lorsque le prix chute à nouveau, contrôlant ainsi le risque.

  4. Ajuster les paramètres de la période EMA en fonction des caractéristiques des différents produits, optimisant le jugement de la tendance.

  5. Ajouter le module de taille de position, peut ajuster par taille de transaction basée sur le ratio d'utilisation des fonds.

Conclusion

La stratégie de suivi des tendances triple EMA est une stratégie très pratique de suivi des tendances. Elle possède de fortes capacités de jugement des tendances, tout en disposant également de mécanismes adaptatifs de prise de profit et d'arrêt de perte pouvant gérer automatiquement les ordres. Du point de vue de l'optimisation, les systèmes de prise de profit et d'arrêt de perte peuvent être améliorés pour s'ajuster en fonction des conditions du marché en temps réel. Mais dans l'ensemble, cette stratégie est un choix de risque facile à mettre en œuvre et contrôlable.


/*backtest
start: 2023-01-01 00:00:00
end: 2023-06-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(shorttitle='Three EMAs Trend-following Strategy',title='Three EMAs Trend-following Strategy (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.1)


//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2020, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => time >= start and time <= finish ? true : false       // create function "within window of time"

ema_1 = ema(close, input(7))
ema_2 = ema(close, input(12))
ema_3 = ema(close, input(21))

Take_profit= ((input (4))/100)

longTakeProfit = strategy.position_avg_price * (1 + Take_profit)


length = input(20, "Length", minval = 2)
src = input(close, "Source")
factor = input(3.0, "Multiplier", minval = 0.25, step = 0.25)
volStop(src, atrlen, atrfactor) =>
    var max     = src
    var min     = src
    var uptrend = true
    var stop    = 0.0
    atrM        = nz(atr(atrlen) * atrfactor, tr)
    max         := max(max, src)
    min         := min(min, src)
    stop        := nz(uptrend ? max(stop, max - atrM) : min(stop, min + atrM), src)
    uptrend     := src - stop >= 0.0
    if uptrend != nz(uptrend[1], true)
        max    := src
        min    := src
        stop   := uptrend ? max - atrM : min + atrM
    [stop, uptrend]

[vStop, uptrend] = volStop(src, length, factor)

go_long = crossover(close, ema_1) and crossover(close, ema_2) and crossover(close, ema_3)



closeLong = close > longTakeProfit or crossunder(close, vStop)



//Entry 
strategy.entry(id="long", long = true, when = go_long and window())



//Exit
strategy.close("long", when = closeLong and window())

plot(vStop,"Vstop", color.black, linewidth=2)
plot(ema_1,"EMA Short", color.green, linewidth=1)
plot(ema_2,"EMA Mid", color.purple, linewidth=1)
plot(ema_3,"EMA Long", color.red, linewidth=1)



Plus de