Topic: MT4 Charts Do Not Trade Equally

https://s2.postimg.org/talzrj16d/mt4-charts-uneven-trading.png

I've been testing FSB-generated portfolio EAs (created by Portfolio Maker) on MT4 and comparing their trading behavior compared to the same strategies attached to their own charts (more on that in a different post).  One of the tests I ran was to clone a very simple strategy (actually, one created by EA Studio) and attach 20 copies of identical strategies to 20 EURUSD/M5 charts and let those run for a few hours.  The expectation was all 20 strategies would trade either identically or nearly identically.  However, that does not appear to be the case.

The image above was taken from MT4 Tracker.  You can see the 20 strategies with magic numbers ranging from 2001 through 2020.  Though their stats may be similar, the number of trades varies from a low of 69 to high of 153.  I've attached a *.zip file in case anyone else is interested in trying this same test.  Again -- these 20 strategies are identical and only differ in their magic number.

I do not have an explanation -- but I do have a theory.  Keep in mind that MT4 is a "black-box".  It is proprietary software and only MetaQuotes knows its performance limitations -- and they would never make that information public.  So, my theory is strictly a guess.  I do NOT think there is anything devious going on.  MT4 is a fairly complex, multi-threaded, near real-time application that performs both data acquisition (over the Internet) and graphical charting.  We all know it is very CPU-intensive.  In fact, each chart you open increases the memory foot-print of MT4 by something like 20-30 MB.

MT4 is a multi-threaded application.  Each chart runs in its own thread.  There are also other threads -- e.g. retrieving broker data, sending / receiving order information, handling UI requests, redrawing charts -- and more.  Furthermore, there is limited CPU available.  The CPU's availability is divided into time-slices.  Each thread gets one or more time slice, and then it gets put to sleep and the next thread is allowed to run.  In most cases this is transparent to the user.  A real-time application like MT4 likely prioritizes its threads -- i.e. some are more important than others.  For example, the thread that retrieves broker data is more important than the thread that updates chart #7.  So, let's say MT4 has 30 time-slices to work with each time Windows gives it the CPU.  The first thing MT4 does is use 15 of those to download the broker's most recent tick data -- leaving 15 time-slices.  Next, it calls the OnTick() code for chart #1 -- and let's say those calculations take up another 2 time-slices, leaving 13.  Next, it calls the OnTick() code for chart #2, again taking up another 2 time-slices, leaving 11.  And so on.  By the time it gets to chart #8 then Windows tells MT4 its time is up and the CPU is given to another app or service running on your machine.

Sometimes all the OnTicks get processed, sometimes only a subset get processed.  I think this may be why not all charts trade equally.  There is limited CPU plus MT4 probably sets the priority of different threads (which is very common in multi-threaded apps).

So what does this mean?  I'm not sure.  However, I believe this is related to an observation that alamehmazen123 and I made about the portfolio EAs created by Portfolio Maker.  The strategies bundled in the portfolio EA trade less frequently than the corresponding strategies attached to their own chart.  I've posted about this before and also added an FAQ to the mt4tracker.com website.

Post's attachments

Cloned-Strategy.zip 412.33 kb, 14 downloads since 2017-12-18 

You don't have the permssions to download the attachments of this post.

Re: MT4 Charts Do Not Trade Equally

Latency is also a factor..... , using a VPS might help especially if it is close to the broker.

My 'secret' goal is to push EA Studio until I can net 3000 pips per day....

3 (edited by sleytus 2017-12-18 16:51:31)

Re: MT4 Charts Do Not Trade Equally

It is a VPS -- and not a cheap one.

I don't think it is a latency thing.  If it were, then each chart would have the same probability of experiencing latency from time-to-time and the overall result would be that each chart trades similarly -- since latencies would be spread over all the charts, not just certain ones. 

But that is not the case here.  From the results in the attached image you can see certain charts trade less frequently than others.  Having developed real-time data acquisition applications in the past, I can imagine what some of the issues were that MetaQuotes had to deal with.  MT4 is a multi-threaded app.  When you combine that with the fact certain threads are more important than others plus CPU time-slices are a limiting resource, then you start assigning priorities to threads.  Each chart runs in its own thread and MT4 probably implements some round-robin where it goes around in a loop giving each chart a chance to run before it runs out of time and has to return to the more important threads -- like retrieving new data from the broker and completing trades.

My theory is total speculation -- I'm just blowing smoke.  But the observation is real.  I'm hoping a few others will take the *.zip file I attached previously and give it a try on their MT4 installation.  It's a pretty simple test and when you attach the EAs to M1charts then you start seeing results right away.

Sort of related to this is an observation that alamehmazen123 first reported when testing the portfolio EA created by Portfolio Maker.  In that case, the same strategy bundled in a portfolio EA traded less frequently than its twin trading in its own chart.  This would be consistent with a multi-threaded app where threads are prioritized and have to share a limited number of CPU time-slices -- but there is no guarantee each thread will get the same amount of time.

It's an unexpected and surprising result -- but I don't think it really changes anything other than I probably wouldn't trade more than 7 or 8 strategies per terminal session without first confirming my particular setup can actually handle that many and treat each chart equally.  If charts are not treated equally, then it may mean that MT4 is starved for CPU or memory.

One last point -- again, just speculation -- I'm guessing the discrepancy in trades is due to certain charts receiving fewer OnTick calls.  This, in itself, isn't so bad because when you are trading an H4 chart the bars only change once every 4 hours.  So, who cares if you miss ticks that arrive every few seconds?  If you are not using SL or TP then I think it's okay to miss ticks.  But if you are using SL and TP, then if you miss ticks there is a good chance you may miss some SL or TP exits.  This might account for the fewer number of trades.  Perhaps I'll repeat the test using a strategy that doesn't use SL or TP -- or maybe leave that to someone else to try...

Re: MT4 Charts Do Not Trade Equally

I am using only  4 hour charts, I have not enough trades to compare a test to at this point.

We have to keep in mind that we need only a couple strategies to make a good profit...., a trader gaining 100 pips daily can live pretty well.

My 'secret' goal is to push EA Studio until I can net 3000 pips per day....

Re: MT4 Charts Do Not Trade Equally

Yep -- I agree.  I've taken your advice and now only trade 4 hour charts.  I have tried other time frames but, in the end, H4 seems the best compromise.  I should have taken your advice sooner, but I couldn't help experimenting.

Also, since this observation, I went back through my FSB strategies and picked the best 7 and those are what I'll use for awhile.   

I think my experimentation days are winding down.  I'll stick with a handful of FSB-generated strategies and EA Studio-generated portfolios.

Not too cause trouble, what happened to "My 'secret' goal is to push EA Studio until I can net 3000 pips per day....".  Yes -- 100 pips / day is nice, but what about that yacht?

Re: MT4 Charts Do Not Trade Equally

Around the time you made the MT4 Tracker I had a couple days of 3000 pips, but the load on my computer was too much. I couldn't do anything else.

I am too old to be yachting, I think there is one reserved for you in Tampa, Florida....

I do have some little kids in Philippines that I try to help to get to school, there is a great need in Asia, kids need food and computers and bus fare, the list goes on and on.

I have quite a few 4 hours charts, well organized because of your ideas and softwares.

It is also your fault that I am having to learn how FSBPro works..... lol

My 'secret' goal is to push EA Studio until I can net 3000 pips per day....

Re: MT4 Charts Do Not Trade Equally

I made the mistake of continuing this conversation in a different topic and ended up hijacking the thread -- I apologize.  However, I would like to continue it here...

footon wrote:

sleytus Strats need to handle every tick because that's often the case to make them work as intended. For instance, if opening/closing point is a MA value, it means opening or closing can occur through the whole life cycle of a bar. Strict bar open/bar close strats can be optimized in a way, on the other hand bar closing is bit of an abstract approach of sensing the close of a bar because bar close is not raised as an event in MT, every tick is a close price. Long story short - we need those ticks, it's the best and most reliable model to date.
Mismatching trades in portfolios is a huge problem! If there is a difference in trades, then it renders the whole process of strategy development useless. All conclusions, inferences and reasonable expectations for a strategy or a set of strategies will be not met as the strats will behave a lot differently than in the backtest. All work will be invalidated and there's just a bunch of random garbage, same as throwing sht on the wall and then seeing after the fact if something stuck on it or not. Hmm, I'll try to look into it.


https://s9.postimg.org/ya6sbxa8b/mt4-charts-uneven-trading.png

Thanks for your offer to look into this.  So far only alamehmazen123 and myself have shown any interest.
The image above shows 20 identical EAS-generated strategies -- each attached to their own EURUSD M1 chart.  In a separate thread (https://forexsb.com/forum/post/48265/#p48265) I attached a *.zip file that included these 20 strategies.  Again, these strategies are identical, with the exception I assigned different magic numbers so I could track them.
These same, exact 20 strategies, when bundled in a EAS-generated portfolio do trade almost identically -- which is good.  However, the number of trades within the portfolio is less than the number of trades when attached to their own chart -- by about a factor of 2.
I wouldn't go so far as to say this type of mismatching renders strategy development useless -- we still need strategies with a good probability of succeeding.  But this result did make me feel somewhat discouraged -- hence my earlier post in this thread.  I mean, when MT4's behavior exhibits this type of unpredictability then it sort of dampens my enthusiasm for spending a lot of time refining strategies because MT4 introduces trading irregularities that I have no way of compensating for.

Re: MT4 Charts Do Not Trade Equally

https://s9.postimg.org/o1eb649bv/portfolio-trading-20171208.png

Another image that displays the same problem, but from a different perspective.  In this case there are 20 FSB-generated strategies and they are NOT identical.  The odd-numbered strategies are attached to their own chart.  The even-numbered strategies are bundled in a Portfolio Maker-generated portfolio EA.  Ignore strategy 11000.  Strategies 11001 and 11002 are identical -- 11001 trades in in own chart and 11002 trades within the portfolio EA.  The other pairs are [11003,11004], [11005,11006], and so on.

Scanning down the column, you can see that the odd-numbered strategies (which trade in their own chart) trade more frequently than their even-numbered twin (which trades within the portfolio EA).  This phenomenon might be real or, as you pointed out earlier, could be an artifact of how Portfolio Maker bundles FSB-generated strategies.

However, scan down the column and pay attention to only the odd-numbered strategies which trade in their own chart.  You can see that as you go from strategy 11001, to 11003, to 11005, to ...11039 the number of trades decreases.  Since these strategies are not identical then this could just be a coincidence.  But, I suspect not.  Since each chart trades in its own thread and since MT4 creates a new thread each time it calls a chart's OnTick handler (I believe), then I wonder whether this observation simply reflects how MT4 handles threads with different priorities when resources and timing are limited.

Re: MT4 Charts Do Not Trade Equally

footon wrote:

Strats need to handle every tick because that's often the case to make them work as intended.

If I only use a 'Base price' of Open or Close, does that statement still apply?

it means opening or closing can occur through the whole life cycle of a bar.

This is really interesting -- but what exactly does an indicator look at during the life cycle of a bar?  I assumed that Open and Close only change at each new time period (i.e. with each new bar).  I've wondered whether High and Low might be changing with each tick, but somewhere I read they don't.  I understand that Ask and Bid do change with each tick, but our strategies don't use those values when deciding whether or not to generate a signal.  Or do they?

Please correct me -- the only data we have to work with is OHLC, Ask and Bid.  OHLC gets updated once with each new bar.  Ask and Bid can change with each tick.  During a bar's interval, when it receives many ticks, then what data is changing that would cause a strategy to generate a signal?

Related to this -- some of my strategies use 'Bar Opening' and 'Bar Closing'.  When I trade on the H4 time period then those strategies open and close trades only at 4-hour time periods, which suggests they do not use data accompanying each tick.

Thanks...

Re: MT4 Charts Do Not Trade Equally

but what exactly does an indicator look at during the life cycle of a bar?

For the sake of illustration - opening point is a MA (enter into position at MA). Lets assume current bar open is below MA (which value is taken from the previous bar because it is based on close price). So, bid or ask price need to be >= MA value. If we take away ticks, there's no way to open a position when price reaches MA value.

I assumed that Open and Close only change at each new time period

First tick is open, all following ticks are closes. You can observe it in MT.

I've wondered whether High and Low might be changing with each tick

If they represent respective new high or low for a bar, then they change.

I understand that Ask and Bid do change with each tick, but our strategies don't use those values when deciding whether or not to generate a signal.  Or do they?

They do (see the first example with MA).

OHLC gets updated once with each new bar.

Bar builds dynamically, so do OHLC values.

what data is changing that would cause a strategy to generate a signal?

Bid/ask for opening position and for closing conditions all price types (one or more from OHLC) because previous bar value is not used AND we need ticks to have their timestamps to anticipate bar closing.

Early morning hours again, I hope I got everything correct. smile

11 (edited by sleytus 2017-12-30 04:38:09)

Re: MT4 Charts Do Not Trade Equally

footon -- thank, you!!!!

I did have a misconception about MQL4's built-in series arrays:  Open[], High[], Low[], Close[].  I knew that Open[] was updated once at the beginning of a bar, but I did not know that High[], Low[] and Close[] are changing (with each tick) while a candle is forming.  I do understand that Close[] is not valid until the beginning of the next bar.

If you don't mind -- a few additional questions and I think I may actually "get it":

1. Our strategies often use "Bar Opening" and/or "Bar Closing".  Furthermore, when I use these when trading EURUSD/H4 then I can see from the time stamps that positions are opened and closed exactly on four-hour intervals.  To me this suggests ticks are ignored when using these as the opening and closing points.

2. Do the additional entry signals (Add,Winner,Loser) and exit signals (Reduce,Close,Reverse) rely on bar or tick data?

3. Many indicators allow us to choose a 'Base Price' -- e.g. Open, Close, High, Low, etc.  If I choose 'Open' does that mean that particular indicator does NOT use tick data?

4. Related to (3) -- if I choose a 'Base Price' that is sensitive to tick data but also use "Bar Opening" (that I assume ignores tick data), then how does one reconcile that?

5. Again, related to (3) -- is there a simple answer or "rule of thumb" as to which parameter is "best" to use for 'Base Price'?

6. Is the final Close[n] *always* equal to Open[n+1]?

7.

If we take away ticks, there's no way to open a position when price reaches MA value.

Couldn't this still be done whenever there was new bar data?


With regards to mismatch trades -- all this would seem to suggest that missing ticks can be even more harmful to a strategy than I originally thought.  But now I have something to test for.  I will add a bit of diagnostic code that counts ticks to see if strategies that are attached to different charts or execute within a portfolio EA receive the same number of ticks.

Again -- thanks very much...

Re: MT4 Charts Do Not Trade Equally

Look at this strategy. Pay utmost attention to the opening and closing point of the strat, those in red squares.


https://s13.postimg.org/nxgx1nmtv/bal.jpg


Do you see on the chart that position is opened AT moving average and closed at the second moving average? It is dynamic in this sense that expert needs to track every price change in order to confirm whether price has reached to the set position opening point or not.

Ticks are about 2 things - execution and closing. For strats with bar opening as the opening point, we don't need ticks but a new bar. Bar closing though needs ticks to determine whether bar is about to close or not and if it is needed, track the price for correct execution point.

----

1. If I was able to teach the concept with above example, you'll see that for closing we'll still need ticks.
2. Additional signals are like "ordinary" signals, they all come at the same time! If bar opening is used, the signals will come at bar opening. If the above MA strat is used, the signal comes at the time when price reaches MA.
3. Baseprice is the base for indicator value calculation, there's no room for ticks, ticks are a price value and a timestamp only. Bar data on the other hand, which is used in baseprice, composes of OHLCV values with a number of smoothing possibilities (median, typical etc).
4.Baseprice is not sensitive to ticks.
5.Well, which one works best result-wise or in order to accomplish some kind of operation or target.
6. Depends on the broker. I've seen data where closes and opens are equal, I've seen where they are never equal and I've seen data where they are most of the time equal. Broker dependent all the way.
7. Yes, in FSB we would use MA in the condition slot, but it would result in lost time. In H4 TF it could be almost a 4hour lag.

Hope this clears things for you.

Re: MT4 Charts Do Not Trade Equally

Excellent description Footon!

I'll add that the ticks are necessary for the Trailing Stop and for the Break Even.

Re: MT4 Charts Do Not Trade Equally

footon -- holy sh-t!   In one post you cleared up a years-worth of questions and misconceptions.  Thank you!

As I understand, EA Studio-generated strategies use Bar Opening for both entry and exit signals.  So, I take that to mean ticks are not needed (or used) for EA Studio-generated strategies.

Regarding mismatched trades -- I recently read the following on mql5.com:

The NewTick event is generated if there are new quotes, it is processed by OnTick() of Expert Advisors attached. In case when OnTick function for the previous quote is being processed when a new quote is received, the new quote will be ignored by an Expert Advisor, because the corresponding event will not enqueued.

All new quotes that are received while the program is running are ignored until the OnTick() is completed. After that the function will run only after a new quote is received.

And I wonder whether, as a result, charts are not guaranteed to receive the same number of ticks -- in particular, charts trading the same symbol and time frame.

When the markets re-open I plan to add some diagnostic code to check whether identical strategies, trading the same symbol and time frame but attached to different charts:
(a) receive the same number of ticks
(b) the tick data (and their time stamps) is the same for all of them

Again -- thank you, footon...

Re: MT4 Charts Do Not Trade Equally

As I understand, EA Studio-generated strategies use Bar Opening for both entry and exit signals.  So, I take that to mean ticks are not needed (or used) for EA Studio-generated strategies.

This is correct (for EA Studio only). We designed the EA Studio in that way in order to make it more reliable. It is always a trade off between functionality and reliability.

On the other hand, FSB pro provides much more possibilities and it makes it necessary to cover much more complex cases.

Re: MT4 Charts Do Not Trade Equally

Thank you, Popov.

As for making "trade-offs" -- I understand that concept perfectly and wrestle with it every day...

In general, I'm curious to learn all the details of the incoming data and have no opinion on whether EA Studio or FSB-Pro are better.  I enjoy using both.  FSB-Pro covers more complex cases, but EA Studio generates **portfolios** and performs Monte Carlo and Multi-Market filtering.  So, you make available to us all possibilities and options.

My current interest in ticks is to better understand whether they play a role in the mismatched trading alamehmazen123 and I have observed.  alamehmazen123 is the one who was clever enough to design the original test using multiple charts.  Until then I was simply testing using MT4's Strategy Tester.

Re: MT4 Charts Do Not Trade Equally

Hello everyone...hi sleytus
In regards to all previously said...excelent descriptions and valuable questions.
Our previous testings were based solely on comparing single EA to “Portfolio maker”...i have an idea that might declare the “on tick” relation to the problem, once for all:

If anyone have time, should combine MANUALLY lets say 5 strategies (again MANUALLY), and compare it to single EAs.
Yes i know it will take time, but this will clear up everything about onTick issues.
Any brave trader would give it a try!! smile

18 (edited by sleytus 2018-01-02 23:17:59)

Re: MT4 Charts Do Not Trade Equally

I have some test results to report.  This is very odd.  On one hand I would have expected others to have noticed this before -- but, perhaps not.  Popov's software and its ability to create dozens of quality EAs and bundle them in a single portfolio EA is new and most traders do not use portfolios in this way.  So, probably no one thought of comparing strategies in different charts -- we probably assumed MT4 would do the right thing and each chart would be treated the same way.  But that doesn't seem to be the case.  Furthermore, this could be related to most everyone's observation that results from back testing differ from live trading.  It might also be that MT4 was never designed to handle multiple charts that trade the same symbol -- I mean, MT5 doesn't even support magic numbers.  All EURUSD charts -- regardless of the strategy -- are treated as a single instrument in MT5.

https://s13.postimg.org/svif9mkmb/identical-strats-one-per-chart.png

The above image is a new one, but similar to ones I have posted before.  A few weeks ago DocZero sent me a very simple FSB strategy that trades every minute.  I've attached its *.xml.  I created 41 copies of this strategy and gave them magic numbers from 11000 thru 11040.  Again -- they are *IDENTICAL* with the exception they've been assigned different magic numbers.  Each strategy was attached to its own EURUSD/M1 chart and I let these run for a few hours.  As you can see the number of trades declines dramatically with the chart number.  MT4 keeps track of the order in which charts are created,
and the first charts trade more frequently than later charts.  I created all the charts around the same time -- it took me perhaps a minute or two to create 41 of them.


https://s13.postimg.org/ah7w5dddv/identical-strats-portfolio-ea.png

The image above shows these same strategies bundled in a single portfolio EA created by Portfolio Maker.  Again,
all the strategies are identical (except their magic number) -- furthermore, all strategies are trading within the SAME expert advisor (i.e. one chart).  As you can see, as you go down the column the number of trades quickly declines.  Strategy 11050 (shown at the bottom) is identical to the others but was attached to its own chart.  I included it for comparison.


https://s13.postimg.org/4t1letokj/identical-strats-portfolio-ea-strategy-tester.png

The image above shows the same portfolio EA created by Portfolio Maker -- but this time it was run in MT4's back tester.  You can see that under these conditions all 41 strategies trade EXACTLY the same.  MT4's strategy tester may be useful for confirming logic, but since it runs locally on your machine and never communicates with a broker or bank by opening and closing orders, then whether or not it is really useful for predicting performance in a live account is questionable.  Perhaps if you will only be trading a single EA it has value -- but if you are working with portfolios then I have doubts.

One last note for this post (though I have some additional information that I'll share in another post).  I did add some diagnostic code that counted ticks -- since I thought, perhaps, later charts weren't receiving the same number of ticks as earlier charts.  But this doesn't seem to be the case.  The number of ticks received by charts does differ -- but only by a few percent.  There still exists scenarios where missing ticks could be a problem -- but this is very difficult to test for.  As an example, MT4 will call a chart's OnTick event handler when there is new data.  However, while that chart is calculating it will not receive new ticks until it has completed its calculations and trading.  MT4 is a single-threaded app and it probably calls each chart, in order, when it has new data.  But suppose after calling the OnTick for chart #7 then MT4 receives some new data -- does it continue sending old data to charts #8 through #40?  Or does it start over again and send the new data to chart #1.  It would make sense to start over in order to avoid different charts using different data.  And if that were the case, then missing ticks could be a real problem.  But I don't think this is the case -- there is another reason why identical strategies trade differently.

Post's attachments

tradeeveryminute.xml 10.86 kb, 3 downloads since 2018-01-02 

You don't have the permssions to download the attachments of this post.

19 (edited by sleytus 2018-01-03 05:40:49)

Re: MT4 Charts Do Not Trade Equally

Some additional information...

Actually -- I have an explanation and solution, but that will come in the next post.  The purpose of this post is to complete a series of tests.

It occurred to me perhaps there was something in the way Popov's strategies were coded that might affect how strategies traded when multiple instances where attached to their own chart.  So, I instead used the "Moving Average" Expert Advisor that MetaQuotes includes with every installation of MT4.  I mean, if any EA were to work properly with MT4 then it must be this one -- right?

So I made 41 copies of this EA and gave them magic numbers 13000 thru 13040.  Again -- all the same code, only differing in their magic number.  And I attached each EA to its own EURUSD/M1.

And the results -- equally bad.  Perhaps worst.  Only the first 8 charts did any trading.  The other 33 charts collected dust.  The results are shown below...


https://s9.postimg.org/ew4mdtvxn/moving-average-individual-charts.png

Re: MT4 Charts Do Not Trade Equally

I think I now have an explanation and possible solution for the unequal trading.  But before sharing that, I had a general comment -- considering how critical it is to an expert adviser that MT4 perform in a reliable and deterministic manner, it's been a bit surprising to me that so few subscribers have shown any interest in this topic.  It's not too technical or complicated and it has implications on how to deploy EAs for best results.  But almost no one is interested.  I guess everyone -- except me -- is too busy making lots of money with their current strategies.  Oh, well...

I will cut to the chase...  When I substitute OnTick() with OnTimer() -- which fires every 10 seconds -- then everything seems to work.  The results shown below is the same strategy [11000,11040] but relying on OnTimer() instead of OnTick() to drive the execution.

https://s9.postimg.org/x07mydtl7/On_Timer-individual-charts-2.png

You can see that the 41 charts now execute similar number of trades and that the first charts are no longer favored over the later charts.

A few implications:
(1) When using multiple charts that trade the same symbol, then you can not rely on ticks to drive execution of the strategy.  The arrival of ticks is unreliable and indeterminate.
(2) MT4 is not a democracy.  The first few charts are favored over later charts.
(3) EA Studio-generated strategies do not use ticks -- hence, they are less susceptible to this phenomenon.
(4) Using OnTimer we can use this to our advantage -- e.g. set the timer to fire every 1 second and collect price data with each OnTimer event.  On the 10th OnTimer event, average the price data (actually, using the median price is statistically better) and use that average price to check for Entries or Exits.  In this way the price data is smoothed and perhaps we would experience fewer false signals.

By the way -- my testing was done on a very powerful machine -- 64 GB RAM, Intel Core i7-7700.  This is way more than any VPS someone might be using.

Re: MT4 Charts Do Not Trade Equally

Steve this is an excellent study and observations.

The new EA Studio Portfolio trade multiple strategies in one expert and uses only one Tick event handler, so it must overcome the issue you have noticed.

Re: MT4 Charts Do Not Trade Equally

Sleytus...this is amazing, really!!
I don’t think anyone had thought about it. Hope these findings will have good impact on portfolio maker

Re: MT4 Charts Do Not Trade Equally

Hey sleytus...i made a quick trial about how chart positioning (in the first or at last)...guess what, you are 100% right.
MT4 really delay the work of the last charts and work preferably on the first charts!!!!!!!!
How come no one noticed this before!

I moved some charts for the back and put them at the begining...worked immediatly, after been sleeping for a while and only trading small trades!

So right now, the best solution is PORTFOLIO MAKER (+onTimer)...if this truely worked, it will changeeverything in trading.
Otherwise, bear to install several terminals, and stick to no more than 5 charts per terminal.

All waiting for the update of portfolio maker to see how it works

Re: MT4 Charts Do Not Trade Equally

alamehmazen123 wrote:

it will change everything in trading

Yes -- for anyone using multiple charts it has the potential to make a big improvement.  It may also go a long way toward explaining why strategies with excellent back testing statistics often times exhibit poor performance when used in a live account. 

And credit goes to you.  You are the one who was curious and resourceful and chose to perform those tests that revealed this unexpected behavior.  Funny how things work out.  Thank you!!!

alamehmazen123 wrote:

All waiting for the update of portfolio maker to see how it works

Yes -- I'm now motivated to return to Portfolio Maker.  I did a preliminary test -- which I posted above -- and using OnTimer() seemed to fix the problem in Portfolio Maker.

Re: MT4 Charts Do Not Trade Equally

Thank you guys for the dedicated work and the efforts to solve the mystery!

I personally never traded more than 10 strategies on a same symbol and never experienced this issue.

Regarding MT5, I have reports from traders that more and more brokers use MT5 hedging accounts, which allow multiple positions on a same symbol. It still doesn't have a magic number, but probably there is a way to distinguish the positions.

If you have experience with MT5, please share your ideas.