Moving Average Slope

Moving Average Slope

The moving average slope function is an extremely simple indicator and indicates several useful things:

Direction of the given moving average, thus trend
Gradient or slope of the given moving average thus momentum or power of the recent price action
probability of continuation of price action.

This is a simple function which can prove to be valuable for algorithmic or manual trading. Use in conjunction with other indicators to find entries; or use as a filter to prevent bad entries. It’s best used with slower moving exponential averages but can also be used with a combination of averages. This can be considered as a building block for more complex indicators and trading systems.


The histogram will give you a easy representation of acceleration or deceleration of  a move. Oftentimes I see system code that checks whether a moving average is going up or going down in relation to its last few bars. This tool is more granular and will also allow you to test for when an average is curving off, or losing steam. That will allow you to enter a move sooner.

A change in direction of the histogram back towards the zero line indicates the potential curving off of the underlining moving average and thus a reversal is more likely. In conjunction with other indicators, it may help to get into a move earlier than otherwise.

Zero crossings of the histogram suggest momentum is picking up in the direction of the crossing. Zero crossings become more significant if the previous wave was above a given threshold. It is up to you to set that threshold; low volatility crossings should be ignored.

Units are in points expressed as basis points per candle. If the chart was on a one-minute time frame and the histogram was showing +1, this would mean that the moving average was rising by one point per minute. A 30-minute time frame showing -3 would mean the moving average was falling by 6 basis points per hour.

– maPeriod :: the moving average period. This is normally set at 200 by defailt
– maType :: the moving average method. Expotential average is the default

Please reach out if there are any questions.

Share this

Risk disclosure:

No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.

ProRealTime ITF files and other attachments : How to import ITF files into ProRealTime platform?

New! PRC is also now on YouTube, subscribe to our channel for exclusive content and tutorials

  1. Nicolas • 05/25/2017 #

    Hi Maz, it’s always a pleasure to review your post, they are always perfectly well formatted with all the required files 🙂 Perfect for a sunny holiday day like today! 😉

  2. Robert • 05/25/2017 #

    Great work! Could be useful 🙂

  3. Tedvin • 05/25/2017 #

    Nice one, thanks a lot Maz 🙂

  4. victormork • 05/25/2017 #

    Thanks Man!!

  5. MtraderWD40 • 05/25/2017 #

    Many thanks for sharing this, simple but a great indicator. Used it successfully for visual scanning of potential breakout and scalping.  i use it with maPeriod = 50

  6. juanj • 05/25/2017 #

    Having a moving average bar running above 0 for the green bars and below 0 for the red bars would be a nice addition.

  7. juanj • 05/25/2017 #

    I mean a moving average line

  8. juanj • 05/25/2017 #

    I coded the above indicator into a strategy, seems to be profitable on the EURUSD 1Hr

  9. Leo • 05/25/2017 #

    I just have a question about trading.
    What is better for use as a filter in trading (long): long term moving average slope upwards or price above it or both?
    Thanks in advance

  10. Marcot18 • 05/25/2017 #

    Buongiorno, è possibile codificare lo stesso codice per regressione lineare? grazie in anticipo

    • Nicolas • 05/25/2017 #

      Just change the indicator at line 9 with a linearregression instead of average

  11. Marcot18 • 05/25/2017 #

    Save Nicolas, non ci riesco puoi postarmelo grazie.

  12. Sumihiko Tachibana • 249 days ago #

    I need help to write this script on TD Ameritrade thinkorswim (TOS). How to make it work on TOS? Thanks…

    • Nicolas • 247 days ago #

      We do not offer free assistance for TOS. However, you can send demand for private paid coding at:

Register or


avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar
Related users ' posts
2 weeks ago
camporan You can use it 5M onwards, but the longer timeframe the more accurate it is. My preferred ar...
manchokcity can we have it in mql4 platform? or how or which platform do we use it?
camporan I don't use MetaTrader so I won't be able to do the translation myself. Sorry!
Alberto Aguilera Hi! Thanks for your strategy Anyone can check it with 200 bars?
Jan Wind Good evening Roberto, I do not understand Italian, so I could not read the background. ...
robertogozzi Results, while matching when it's SMA compared to TRSMA, are different in the case of WMA an...
4 months ago
funkystuff Salut Balmora, Ton indicateur est plutôt intéressant :) Penses-tu qu'il soit possible de l'...
sharksteven Hi BALMORA, looks like a good compliment algorithm. I tried to test it on the EUR USD but it...
kompiuter Hello, how did you optimized all these variable? If I try to optimize only two variables it...
rrenaud_ig Great work ! My only concern is about risk management. Your results are based on 10k. Max lo...
7 months ago
robertogozzi Sorry for my late reply. I’ll make it and open a new topic quite soon.
swapping ah ah ! je n'avais pas vue celui-ci, excellent robert ;)
robertogozzi Thank you swapping.
Didouqc Bonjour Nicolas, Merci pour cet indicateur, encore génial! Je souhaite faire une suggest...
Tony87 on 200k test in the red untill 2017 then strong green
LancerX Please indicate the trade stat to show ave gain against average lost..
Jan Wind Thanks for sharing the strategy !. Did you do an Out of Sample run when testing on the 100k...
juanj Haven't been on this forum for ages! Just logged in to see what is happening and since this ...
robertogozzi Welcome back Juanji, why don’t you post your strategy in the ProOrder support, it’s a better...
Stenozar Thanks Leo!
Madrosat Hi Leo something is missing in the strategy above because it does not work at all as it is
Leo I don't know, I just copy paste the strategy. The optimisation of the values I wrote them in...
osupero Buenisimo Sr Nicolas, seria posible que sólo marcara por encima o por debajo de una media mo...
capgros Bonjour @Nicolas, Thanks a lot for this tool, it is very useful for me. I would like to s...
Nicolas Alpha transparency from 0 to 255.
ehtsham Hi, Sir can you tell me how to put this code in indicator plz
Jan Wind Ehtsham, all you need to do is change the code in line 18 and line 20 (see the code above...
ottimo Congratulations Nicolas, What should I do for the 2 files I have to add them both in the gr...
Nicolas Only the "//PRC_StepALMA-VHF Hi/Lo band" is required, it uses the second code automatically....
ottimo Thank you Nicolas, great indicator, N. 1
Nicolas Yes, that's how it goes when using loops..
JosephFelix Hi, Could I please have help with adding these indicators 'on price'? Every indicator that I...
Nicolas Just add it on price by clicking the wrench on the left upper side of the price chart.
David Somogyi Hi, One year trades since Alpha running. Hopefully it w...
Nicolas Thanks for the update David!
sublime06 quelle parametre utilisé vous pour obtenir ces resultat ? merci