Improved Input Settings in MQL4

I choose to see the changes as a good thing and as a simplified transition from MQL4 to MQL5, or a mixture of the two. If you want to continue to code in ‘old school’ MQL4 then you’re free to do so, nobody is forcing anybody to change the way they work to any large degree.

We’re being given options and as far as I’m concerned, that’s a good thing.

There are lots of new additions and changes that will be seen by some as a headache and by others as an exciting playground to learn new ways of doing things. It’s all about perspective and how you decide to view things.

Are you a ‘glass half full’ type or a ‘glass half empty’ type?

Enumerations in MQL4

Here’s a nice example of one of the new features in MQL4 that I really like. It’s a relatively simple thing and has been available in other programming languages for ages.

Enumerations are a neat way of grouping similar items together in much the same way as we can do with arrays. We could have an array called ‘arrDays()’ that would hold a collection of days or we could have an enumeration called ‘enum_days’ that does the same thing.

The main difference is that enumerations are constants so once they’re set they can’t be changed later, unlike arrays.

Sounds complicated at first but it’s really pretty straightforward and as always, check the help file for more examples.

OK so what’s the ‘improved inputs’ that I referred to in the title of this article.

Here it is…

The other week I wrote a simple dashboard so that I could monitor all the currency pairs offered by my broker and alert me when certain conditions were met.

dashboard-screen

Pretty standard stuff so far and it was just something I put together quickly for my own use.

I had already changed from ‘normal’ external variables to the new ‘input’ variables but did a bit more reading and found something interesting.

The new build of MQL4 allows you to use enumerations in your input variables and lets you have drop-downs and ‘friendly names’.

For my dashboard I was using a fixed font size which was fine because it was only for my own personal use. I wanted to utilize the new enumeration feature so thought it might be cool to have a small, medium and large setting.

As I say, there’s no pressing need for it but I just thought it would be cool.

The original font size variable declaration looked like this…

Then to use the new enumeration feature I just added a definition and changed the input type.

Now I get a pretty cool drop down that allows me to change the font size without having to input any numbers.

dashboard-settings

I used this as a simple example and since it’s only for my own usage there’s no real need. It was just to experiment with using enumerations in MQL4 and get some ideas as to how I might use them in the future.

The other thing to notice is that the comment that comes after each item in the enumeration is displayed in the settings. This way you can have a more ‘friendly’ and readable values for the end user.

If you take a look in the MetaEditor help file you’ll see that the new build of MQL4 already comes with a ton of built-in enumerations. The ones that immediately caught my eye were the ones relating to moving average settings.

Previously I would have to use the integer values in the settings which always caused confusion for my clients. I would have to include a comment both in the code and above the actual settings to explain what each number meant.

Now it’s possible to just use the built-in enumerations and take advantage of the cool drop-down boxes.

Take a look in the help file at ENUM_MA_METHOD and ENUM_APPLIED_PRICE to get more ideas.

There’s bound to be a period of teething problems as with any new piece of software, but on the whole I think the new changes to MQL4 will be good for everybody.

You can choose to either embrace the changes and make them work for you or you can choose to be one of the whiners and complainers.

I know which one I’d prefer to be.

 

Category: TIPS

Improved Input Settings in MQL4

I choose to see the changes as a good thing and as a simplified transition from MQL4 to MQL5, or a mixture of the two. If you want to continue to code in ‘old school’ MQL4 then you’re free to do so, nobody is forcing anybody to change the way they work to any large degree.

How to Install MQL4 Experts Advisors, Indicators and Scripts

Build 600 of MetaTrader 4 was a huge leap forward and has offered a great deal of improvements and benefits to the MQL4 coder, but it comes at a price.

Many users are confused initially and have a hard time navigating around the new interface and finding exactly where to install their expert advisors, indicators and scripts.

5 Forex Mistakes You May Be Making

No matter how long you’ve been trading or how successful you think you are, it’s possible that you’re still making some basic mistakes and don’t even realize it.

Take a look at the 5 most common Forex mistakes that traders make and see how many of them you’re guilty of. You might be surprised and who knows, you may even re-think the way you trade.

Category: FAQ

Easily and intelligently create a stock trading strategy

There should be a step-by-step guide to show novice traders how to create a trading strategy. Are there off-the-shelf strategies that are available for your use? Are there any fees involved or are they offered for free? Can you modify the off the shelf strategies?

Simulate strategies in real time before running live

Most traders would agree that they'd like to "test drive" a system before using it. Some programs allow this through "back-testing," in which the program uses historical data to execute the trades and show you what they would have been.

Have one long and one short strategy per account

Due to the size of the online trading platform, there may be a limit to the number of strategies that you can have loaded on each account. For example, if you want to run two long trading strategies, you may need two accounts.