FAQ (Frequently Asked Questions)
MT4 TRACKER
No. MT4 Tracker analyzes the Account History from MetaTrader 4 -- it doesn't care whether trades were performed manually or using expert advisors.
However, MT4 Tracker does have a feature that allows users to "prune" (i.e. exclude) specific strategies from portfolio EAs that were generated by EA Studio.
Technically, the EULA (End-User-License-Agreement) allows installation on a single machine. However, for practical purposes, we allow for some "wiggle" room. What this means is the "license server in the clouds" will not complain unless the number of activations exceeds 3. If for some reason you require more than 3 activations let us know and we will issue another license key. The purpose of the license key is to protect the software -- not to extract additional payments from users who already own a copy.
PORTFOLIO MAKER
When Portfolio Maker creates a portfolio EA it actually generates a number of files -- there are many *.mqh support files that are required in addition to the main *.mq4 file. When you press the 'Create' button the support files and main *.mq4 are created under the MQL4 folder structure of the MetaTrader installation you previously specified. You must use the MetaEditor for this instance of MetaTrader to build your final *.ex4 file. After the *.ex4 file is built then you can copy it to another MetaTrader installation.
If you encounter build problems it is probably because you are attempting to build the portfolio EA within the wrong MetaEditor development environment and it can not find the *.mqh support files.
No. The original trading logic remains unchanged. Portfolio Maker parses the code of the original strategies and rearranges it so all the strategies can be combined and re-built as a single executable.
One thing does change -- the input entry amounts. The input values that you specify are applied globally for every strategy bundled within the portfolio EA. Portfolio Maker does not support different entry amounts for different strategies.
Yes. The source code and logic for 'Additional Entry Signals' remains unchanged.
Portfolio Maker allows for up to 1000 strategies to be compiled into a portfolio EA. As for the optimum number -- that's hard to say and it will probably vary from machine-to-machine and broker-to-broker. In practice, we've been using 20-40 strategies per portfolio EA in a live account. If you are using the portfolio EA in a demo account for the purpose of testing your strategies, then you can use a lot more.
MT4 was designed with a certain architecture in mind and assumes each EA runs in its own chart and thread. What happens if you overload a chart with too many computations and trades? We don't know. What happens if your broker receives too many orders or modifications from one chart during the same OnTick? We don't know. As a clue, MetaTrader 4 allows for a maximum of 100 charts and expert advisors per terminal session -- so, it is probably wise to stay under that number of total.
No. A portfolio EA can NOT contain a mixture of symbols and time frames. If you attach a portfolio EA to a EURUSD H4 chart then it will receive EURUSD H4 data from your broker and that is what is going to be traded.
Probably not -- though, it depends. From our testing it appears problems arise when there are multiple charts open within a terminal session -- that is, trading can drop-off quite dramatically with higher-numbered charts. Furthermore, the problem becomes worse when a portfolio EA (that includes dozens of strategies) is attached to a chart. As well as we can deduce, the problem appears to be a threading issue -- however, since MetaTrader 4 is a proprietary application then only MetaQuotes can say for sure.
This is discussed further in the FAQ titled "OnTick versus OnTimer".
From our testing it appears problems arise when there are multiple charts open within a terminal session -- that is, trading can drop-off quite dramatically for higher-numbered charts. As well as we can deduce, the problem appears to be a threading issue -- however, since MetaTrader 4 is a proprietary application then only MetaQuotes can say for sure.
Below are some observations:
(1) MT4 throttles OnTick events in order to control how much CPU time is allotted to each chart.
(2) After the first 7 or 8 charts, there is a large drop-off in how much CPU time is allotted to each chart to complete its processing.
(3) The problem is worse when charts are trading the same symbol.
(4) Each chart runs in its own thread. Furthermore, each time MT4 calls OnTick() it launches a new, asynchronous thread. If you have 40 EURUSD strategies attached to charts then their OnTick handlers are called at the same time and they all execute their code in unison -- this creates a "bottle-neck" jam.
(5) If a new tick arrives while OnTick is still working, then MT4 may cancel the previous OnTick thread. As a result, not all strategies are executed. So, if you have a portfolio EA of 40 strategies then perhaps only the first 7 or 8 ever have an opportunity to trade.
There appears to be a solution -- MT4 does not penalize an EA for using OnTimer events (in place of OnTick events). The advantages of using OnTimer include:
(1) OnTimer is called from within the EA (since Windows is capable of determining elapsed time on its own). That is, OnTimer does not need MT4 to wake-up the EA to begin executing code. As a result, OnTimer is not subject to being cancelled and should run until it has completed all of its calculations and orders. This is in contrast to OnTick, which is initiated by MT4 via your broker.
(2) OnTimer events are deterministic and your code is executed on time, every time. In contrast, OnTick events are non-deterministic -- they may arrive several times per second, once per hour, once per day -- you have no control when your code is executed.
(3) Not only does OnTimer avoid logjams (since charts are no longer executing in unison), but it also makes EAs immune from MT4 cancelling the current OnTick thread before all strategies have had a chance to run.
(4) When strategies use OnTimer they are less susceptible to bad ticks. For example, suppose ticks arrive twice per second and your OnTimer interval is 10 seconds. This means your strategies see roughly 1/20th as many ticks and, hence, have 1/20th the probability of generating a false signal due to a bad tick. Yet, checking the bid / ask price once every 10 seconds is more than sufficient for most strategies and time frames (with the exception of scalping strategies).
MT4 SIDEKICK
No -- though it may in a future version. Currently, MT4 Sidekick supports portfolio EAs created by Portfolio Maker (which combines strategies generated / optimized by Forex Strategy Builder Professional).
To date, MT4 Sidekick has primarily been tested on EURUSD / H1 and, so, our preference for using "Consecutive Wins" is based on these limited trading conditions. Feel free to experiment since it may very well be that you'll see better results using Win Ratio.
It is our observation that when using longer time frames (e.g. H1 and longer) that quality strategies often exhibit streaks of consecutive wins (and losses). In fact, if you examine closely the results reported by MT4 Strategy Tester you'll see they also include "average consecutive wins" and "average consecutive losses" metrics.
Think about it. Strategies are algebraic formulas that have been trained to recognize certain data patterns. No strategy recognizes all possible patterns -- that would be the "holy grail". Rather, strategies recognize some subset of possible patterns. Because market conditions change, then patterns in the current data will also be changing. Streaks of consecutive wins can be explained as periods when a strategy is well-trained for current data patterns, and streaks of consecutive losses as periods when a strategy is poorly-trained for current data patterns.
When you use consecutive wins as a performance "barometer" then it provides a clue as to whether or not your strategy is well-trained for current data patterns. A policy that requires 2 consecutive wins means most of the time your strategy will be trading under conditions where it does a good job of recognizing patterns. So, if a strategy has two consecutive wins in the Demo account then it gets a green light to trade in the Live account -- otherwise it is paused (until it again gets two consecutive wins).
Again -- this probably doesn't apply to all strategies and trading conditions. For example, shorter time frames may not be conducive to using a policy of consecutive wins. When using shorter time frames the incoming data is more "choppy" or "noisy" -- hence, there is less opportunity for win streaks. So, for short time frames, then the Win Ratio policy may make more sense.
Yes! That would be the ideal situation. Since there is a "disconnect" between Demo and Live accounts, then a Demo account is not necessarily the perfect "barometer" for determining how well a strategy is currently performing. But if your "barometer" was another Live Account -- i.e. a micro account that traded 0.01 lots -- then that would exactly mirror your Live Account that trades larger lots.
In our experience it seems that a Demo Account is "good enough", but for greater accuracy you could certainly use a Live "micro" Account in its place.