Welcome to the new Traders Laboratory! Please bear with us as we finish the migration over the next few days. If you find any issues, want to leave feedback, get in touch with us, or offer suggestions please post to the Support forum here.

• ## Welcome Guests

Welcome. You are currently viewing the forum as a guest which does not give you access to all the great features at Traders Laboratory such as interacting with members, access to all forums, downloading attachments, and eligibility to win free giveaways. Registration is fast, simple and absolutely free. Create a FREE Traders Laboratory account here.

# Determine a Flat Moving Average

## Recommended Posts

Hi everyone

I am wondering if you could help me to detect a flat moving average

Thank you in advance

##### Share on other sites
Hi everyone

I am wondering if you could help me to detect a flat moving average

Thank you in advance

No idea what you mean (I'm sure that you do though).

Regards,

BlueHorseshoe

##### Share on other sites

BlueHorseshoe

here a screenshot with a 100 moving average

in the rectangle the moving average is +/- flat

how to detect this situation with an indicator?

##### Share on other sites
BlueHorseshoe

here a screenshot with a 100 moving average

in the rectangle the moving average is +/- flat

how to detect this situation with an indicator?

I see . . .

Well you're using MultiCharts, which I believe utilizes a variant of EasyLanguage, so I am guessing something like the following will work:

```inputs:price(c),length(100),threshold(1);
vars:myAVG(0),flatMA(false);

myAVG=average(price,length);
if absvalue(myAVG-myAVG[1])<=threshold then
flatMA=true
else
flatMA=false;

plot1(myAVG);

if flatMA then
setplotcolor(1,white)
else
setplotcolor(1,blue);```

This should plot the blue average, and then colour it white when it is flat. 'Flat-ness' is determined according to how much the average has changed from its prior value - this is a user input that you will need to supply.

If you were trading the ES, for instance, you might consider that the average is flat if its value has changed by no more than a single tick from its prior value, in which case you would need to set the 'Threshold' input to '0.25'.

Let me know if this works for you.

BlueHorseshoe

##### Share on other sites

BlueHorseshoe

That's great!

Thank you for your help

Do you think it's possible to "automaticaly" determine threshold value depending of which stock ou future you trade?

##### Share on other sites
BlueHorseshoe

That's great!

Thank you for your help

Do you think it's possible to "automaticaly" determine threshold value depending of which stock ou future you trade?

It is possible, but you would need to decide how.

Having inputs that are dynamic in that way tend to be more robust, in my experience.

You could also have the input requiring a certain percentage change in the value of the average. In theory this would normalize it, but in practice you'll find that the percentage volatility of an instrument such as a smallcap stock is far greater than that of an instrument such as the ES. For that reason, unless you plan to trade a great number of instruments, it's probably better that you input the threshold value based on what you're hoping to identify, or according to what proves profitable in back-testing.

Regards,

BlueHorseshoe

##### Share on other sites

Having inputs that are dynamic is a best solution i think

My goal: detect flat bollinger bands when the moving average 100 is flat

##### Share on other sites

Are you hoping to trade mean reversions off the bands?

Just a suggestion but . . . if you think that a rally off the lower BB is a likelihood when the bands are flat, then isn't it even more likely when they're upward sloping? And if you think a sell off from the top of the upper BB is a likelihood, then isn't it even more likely when the bands are downward sloping?

Can volume tell you anything at the times when the bands are flat? A flat MA could be interpreted as signifying that participants agree on fair value at that time. What would you expect to happen to volume when this agreement prevails? And when price moves away from an area of "fair value", is it likely to return to it? If the areas of fair value are successively higher and then price moves away from one to the downside, what is the probability that it will then return to this area?

I wouldn't concern myself too much with a dynamic "threshold" input - much more important to your success will be the value of the MA that you choose. Why is the degree of price agreement over 100 periods significant?

Certain markets like the ES spend a lot of time moving back toward the mean value of prior prices. Knowing which historical mean they are moving back towards is difficult.

The "Bollinger on Bollinger Bands" book is worth a read (easy to find as a free pdf download) and I think that Larry Connors recently published something relating to the %BB indicator (which basically measure how close to the outer bands price currently is).

Good luck!

BlueHorseshoe

##### Share on other sites

...lagging response... you might not need it now...but

degree = absvalue(arctangent(Avg- Avg[1]));

Then you can 'categorize' flatness by using stddev of degree...

using dynamic / fuzzy or fixed brackets

a few unsolicited comments and questions... isn't it going to take an inordinate long time for a 100 ma to go 'flat'?... ie by the time it measures flat, it's about time for mkt to not be flat anymore ?

##### Share on other sites

degree = absvalue(arctangent(Avg- Avg[1]));

Then you can 'categorize' flatness by using stddev of degree...

using dynamic / fuzzy or fixed brackets

Nice!

BlueHorseshoe

##### Share on other sites

Is there anyone who can help me to "translate" this idea en easylanguage?

I would to compare the angle of a horizontal line with the angle of the 100 per MA (example linear regression) over a given length and if the deviation is less than a given percentage(say 5%-10%), then the 100 per MA would be considered to be flat.

@zdo

The 100 ma can help me to detect +/- flat bollinger bands as support and resistance

thank you

## Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

Only 75 emoji are allowed.

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×

• 0
• 0
• 0
• -1
• 0