Multi Timeframe Indicators - page 380

Mladen Rakic
154063
Mladen Rakic  

...

Here is the zlema made multi time frame. If I am not mistaken "ZeroLag MA" already exist in a multi time frame version (llok for DEMA, since ZeroLag MA is equivalent to DEMA (double ema)), so posting the zlema only

guest21:
Hi Mladen, it is a good indicators you can add them to function multitimeframe and interpolate? Thanks a million!

updated version posted here: https://www.mql5.com/en/forum/173574

Files:
sofija2004
87
sofija2004  

Dear Mladen,can you make alert on this indicator plz(TMA+KC)tmakc.rartmakc.mq4

Files:
tmakc.rar 4 kb
tmakc.mq4 3 kb
Mladen Rakic
154063
Mladen Rakic  

...

kalina

That is centered TMA (plus a version of Keltner channel). Please read this thread : https://www.mql5.com/en/forum/181241 for some more information on how centered triangular moving average works. As an addition, in my experience, alerts on recalculating indicators are very very dangerous at the least

Alerts on Keltner channel you can find at this post among others : https://www.mql5.com/en/forum/173470/page3

kalina1977:
Dear Mladen,can you make alert on this indicator plz(TMA+KC)tmakc.rartmakc.mq4
Michaela Petrikova
14
Michaela Petrikova  

Mtf

Dear mladen

I need this indicator attached below to be MTF version.

Thanks

Michaela

Files:
Min Li
2265
Min Li  

In depth look of MTF indicators

Below is an article I send to a few of my own client but thought it may be useful to more people so I'm sharing it here.

I deal with many trades around the world due to my work, one type of strategy most often presented to me are strategies based on multiple time frame conditions. With that I also see a lot of MTF indicator being used by traders as a tool when they experiment their ideas.

I noticed that there are a lot of misunderstanding behind those indicators and how MT4 handles MTF issue, especially with regards back testing. Some people claim definitively that "MT4 can't back test MTF" or "MTF indicators can't be used in back testing" etc. Those statements are not exactly true.

I'm making an attempt trying to review this issue using MTF RSI as an example.

First of all, automating a system that has MTF elements are definitely doable, all logic can be coded inside the EA without using any indicators. Although indicators serves a nice visual tool for us to see and verify as trading progress. Most traders who use a MTF indicator do not know all the details of the indicator they are using. The reason those indicators can't be used in back testing is due to how it's written, not to say it's impossible to get around that problem.

I will use 4 versions of a MTF RSI indicators. Let's assume we are trading 5M chart and display 30M RSI.

v1: Surprisingly a lot of MTF indicator is created using this template which is strange to me, indicator display straight lines for the past, going forward every bar takes the intermediate 30M RSI level at the opening of every 5M bar, current bar value does not update after bar open. As a result, you do not get straight lines for every 30M unless you refresh the indicator. For example, the final value of the bar open at 5:55 will read the 30M RSI at the time of 5:55. Won't display correctly in back testing since it uses ArrayCopySeries() function. No repaint.

v2: It may appear to be very similar to v1, however the difference is that during the progress of each 5M chart, current bar value will be constantly updated based on most current 30M chart reading until 5M bar is closed. For example, the final value of the bar open at 5:55 will read the 30M RSI at the time of 6:00. In other words, this bar will display same as closing value of 30M RSI bar opens at 5:30. You do not get straight lines for every 30M unless you refresh the indicator. Won't display correctly in back testing since it uses ArrayCopySeries() function. No repaint.

v3: The difference between this version and previous 2 versions is quite obvious, it always display straight lines for every 5M bar during every 30 minutes and constantly updating the latest bars based on the current 30M reading. For example, if current time is 5:41, bar opened at 5:30, 5:35, 5:40 all display current 30M bar reading, and these values will be fixed at 6:00 and it'll be the same as closing value of 30M RSI bar opens at 5:30. Won't display correctly in back testing since it uses ArrayCopySeries() function. Also a repaint indicator due to force the latest bars to display same value as current.

v4: This appears exactly the same as v3 but it'll display correct values in back testing because it uses ibarshit() function. This is not perfect though due to how ibarshit() functions. In back testing this indicator "already knows" the final value of each 30M bar, so current bar value does not change and it's always the closing value of the corresponding 30M bar. Obviously it's not the same as forward testing but for a lot of strategies this is probably enough in most cases. Also a repaint indicator due to force the latest bars to display same value as current.

v5: I have not bothered to create this yet but in theory this is definitely possible. Using similar idea of v4, instead of calling iRSI() directly, building in all logic of RSI indicator inside our indicators and calculate the current 30M RSI value using price at the time, this way the indicator will update completely correctly in back testing environment.

PS: an example in v5 is shown in post #3805.

I have this brief video to show the above 4 versions of RSI. I personally think when forward trading, both v2 and v3 has it's use depending on the trading logic.

MTF.mp4 - YouTube

Overall, my purpose is to remind traders that when you use any indicator, make sure you get to the bottom of what it can do and what it can not.

Files:
v1.jpg 94 kb
v2.jpg 96 kb
v3.jpg 84 kb
v4.jpg 50 kb
Bob Fisher
316
Bob Fisher  

Christina

I like your explanations as they are along the same lines as I have been thinking. Generally, most MTF indicators present their results as a flat line covering the n time periods of the lower chart or they are interpolated so that you get a straight line between the last point and the current bar on the lower time frame. However, as time passes to the bar time that is common to both time frames, either the flat line goes up or down or the interpolated line changes slope until the common time is reached. This causes the indicator to "repaint" during the n time periods. Consequently if you look at the indicator, it is performing better historically than it does in actual practice.

What I would like to see it the actual intermediate results from the higher time frame retained in the chart buffer of the lower time period, either like your version 2 or your version 5. As you explained in your video, the bars prior to the starting time of the indicator would require custom programming so they could be calculated off of the lower time frame period prices, version 5 I believe. Version 2 as you indicated would be "repainted" for bar times prior to the time the indicator started and correct for times after. Am I correct?

My solution is to use a much longer period for the indicator in the lower time frame, rather than using a shorter period Higher Time frame that "repaints" during the bar multiples between the lower and higher time frames.

Tzuman

Min Li
2265
Min Li  
Tzuman:
Christina

I like your explanations as they are along the same lines as I have been thinking. Generally, most MTF indicators present their results as a flat line covering the n time periods of the lower chart or they are interpolated so that you get a straight line between the last point and the current bar on the lower time frame. However, as time passes to the bar time that is common to both time frames, either the flat line goes up or down or the interpolated line changes slope until the common time is reached. This causes the indicator to "repaint" during the n time periods. Consequently if you look at the indicator, it is performing better historically than it does in actual practice.

What I would like to see it the actual intermediate results from the higher time frame retained in the chart buffer of the lower time period, either like your version 2 or your version 5. As you explained in your video, the bars prior to the starting time of the indicator would require custom programming so they could be calculated off of the lower time frame period prices, version 5 I believe. Version 2 as you indicated would be "repainted" for bar times prior to the time the indicator started and correct for times after. Am I correct?

My solution is to use a much longer period for the indicator in the lower time frame, rather than using a shorter period Higher Time frame that "repaints" during the bar multiples between the lower and higher time frames.

Tzuman

If I'm not mistaken, v2 should do exactly what you wanted as long as you do not refresh the indicator, v2 does not repaint. But v2 can't be used for back testing.

I did spend some time to make a sample moving average in v5, showed in post 3805, now I think about it, using the same method, you can make another version of v2 that doesn't go back to straight line even after refresh and could be used in back testing. The possibility is endless.

Min Li
2265
Min Li  

Examples of v5 version in my post #3802

Follows my post #3802, I have quickly made an example of v5 using Simple Moving Average. For comparison purposes, I also made v4 so I can show you guys the difference in back testing action. See below for video demo.

MTF2.mp4 - YouTube

If it's not absolutely clear to you already, v4 and v5 is created just to solve the "can't display" in back testing problem. If just use forward trading, no need to deal with all the trouble.

I just did it the least time consuming way, so now this indicator only display SMA with closing price. However the key point is that using the approach I described it's possible to display MTF indicator correct in back testing.

Of course you can go one step further to make it display as v2 but compatible with back testing as well. I do continue to think it's unnecessary to make every MTF indicator this way as it's more effort. More importantly as I said, to make a functional EA, you don't really need to have MTF indicator, it's only nice for the user to see visually. For the standard indicators such as MA, RSI, Stoch etc, it's probably worth the time with programmers as it makes it possible for people actually visually test their MTF strategy for past times.

So far I really haven't seen any other MTF indicator display in back testing correctly like this but it could just be me not knowing what's going on outside of my own little world.

Mladen Rakic
154063
Mladen Rakic  

...

Michaela,

That is igorads volty channel stop indicator made a bit visually differently. So instead of making that one a multi time frame, here are these 2 versions : one is "on chart" version and the other is a separate window version made to resemble the one you posted (to have same results, just set the parameters to same values). Both are made to work in multi time frame as they should

mchlpetrikova:
Dear mladen

I need this indicator attached below to be MTF version.

Thanks

Michaela
secretcode
898
secretcode  
mladen:
Michaela,

That is igorads volty channel stop indicator made a bit visually differently. So instead of making that one a multi time frame, here are these 2 versions : one is "on chart" version and the other is a separate window version made to resemble the one you posted (to have same results, just set the parameters to same values). Both are made to work in multi time frame as they should

Thanks Mladen, nice indicators !

Just curious, would it be possible to convert this indicators using "Gaussian filter" calculation or add "Gaussian filter" in MA_Mode option ?

Thanks in advance

secretcode

Files: