Skip to content
All library documents

Multi-Moving-Average Voting with ATR-Based Trade Exits

Article Strategy library · Author: ChaoZhang

Summary

This configurable strategy compares several fast and slow moving-average pairs, using SMA, WMA, or VWMA calculations on a selected price source. It opens a long position only when every configured fast average is above its corresponding slow average. The code then defines profit and loss price levels using multiples of ATR and stores those levels while a position is open. An exit occurs when the moving-average vote weakens and price crosses one of those levels.

The published example configures three pairs and tests BTC futures on a daily chart over roughly a year, but provides no performance statistics. The prose presents multi-average agreement as a way to filter noisy signals, while acknowledging that moving averages lag and that configurable parameters invite overfitting. There are implementation caveats: the code checks whether averages are above or below one another rather than detecting crossover events, and it requires a weakened vote as well as an ATR level breach to close. Its claims of improved stability therefore need independent validation across instruments and market regimes.

Key ideas

  • A long entry requires every configured fast moving average to be above its paired slow average.
  • The strategy supports SMA, WMA, and VWMA pairs with configurable lengths and price input.
  • ATR multiples define profit and loss levels, but the code closes only when a level is breached while the vote weakens.
  • The example gives backtest settings but no performance statistics, and the method remains vulnerable to lag and parameter overfitting.

Tags

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.