Filtre de rupture de l'EMA Stratégie de négociation longue uniquement

Auteur:ChaoZhang est là., Date: 2023-09-12 17:12:22 Les résultats de l'enquête
Les étiquettes:

Cette stratégie de long-only utilise un canal ATR pour filtrer les fausses ruptures EMA pour des transactions longues stables suivant une tendance.

La logique de la stratégie:

  1. Calculer l'EMA de n périodes comme tendance à moyen terme.

  2. Calculer l'ATR n-période pour les bandes de canaux de portée.

  3. Allez long quand le prix dépasse le sommet du canal.

  4. Sortez long lorsque le prix dépasse le bas du canal.

  5. Le canal ATR filtre les fausses fuites insignifiantes ou à court terme.

Les avantages:

  1. Le canal ATR améliore la fiabilité des signaux longs.

  2. La longueur ne fait que réduire la complexité et les risques.

  3. L'optimisation simple s'adapte facilement à tous les marchés.

Les risques:

  1. Incapable de profiter des coups de courtes.

  2. L'EMA et l'ATR sont en retard, ce qui entraîne un mauvais timing d'entrée.

  3. Difficile de maintenir des signaux à longue distance.

En résumé, ce système simple peut bien fonctionner dans les tendances haussières, mais nécessite une prudence sur les indicateurs en retard et les marchés en évolution.


/*backtest
start: 2020-09-11 00:00:00
end: 2021-04-17 00:00:00
period: 7d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("EMA Long Only Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input(21,  minval=1, title="Length")

price = sma(close, 2)
average = ema(close, len)
diff = atr(len)
bull_level = average + diff
bear_level = average - diff
bull_cross = crossover(price, bull_level)
bear_cross = crossover(bear_level, price)

strategy.entry("Buy", strategy.long, when=bull_cross) 
strategy.close("Buy", when=bear_cross) //strategy.entry("Sell", strategy.short, when=bear_cross)
    
plot(price, title="price", color=green, transp=50, linewidth = 4)
plot(average, title="average", color=red, transp=50, linewidth = 4)
a1 = plot(bull_level, title="bull", color=red, transp=50, linewidth = 1)
a2 = plot(bear_level, title="bear", color=red, transp=50, linewidth = 1)
fill(a2, a1, color=red, transp=95)


Plus de