Few people can resist the dream of "I'll just visually roll the dice and be done". The harsh reality and long-term practice proves that it has never worked, never has worked, and is unlikely to work. We are moving exactly in the opposite direction - focusing on programmers and providing them with full development tools.
Is it possible in the new version of Meta Trader 4
in the strategy tester on the page "Log"
through the menu that appears after right-clicking
along with the item "Auto-scrolling" add items
"Disable output of tester messages".
"Disable log output".
So the logs will show only the Expert Advisor's results and no messages:
2007.09.04 22:49:44 Expert: loaded successfully
2007.09.04 22:55:37 2006.01.02 07:00 Expert: EURUSD,M1: open #1 buy 0.50 EURUSD at 1.1832 sl: 1.1732 tp: 1.1882 ok
2007.09.04 22:55:38 2006.01.03 06:03 Tester: take profit #1 at 1.1882 (1.1883 / 1.1886)
and similar messages.
When an Expert Advisor sends many orders within a testing period
it is almost impossible to find the messages of the Expert Advisor itself
and it makes debugging very difficult.
It is not convenient to search for something in the logs on the disk.
Thank you in advance.
2)Ability to look at the entire shape of the space of two variables during optimisation
and not just the best result, when all other values are fixed.
3) Ability to perform automatic WFA.
4) Ability to test and optimize multi-currency (portfolio) EAs.
Very naive.
Few people can resist the dream of a type of "now I'll throw the dice and that's it". The harsh reality and long practice proves that it has not worked, does not work and is unlikely to work out that way. We are moving exactly in the opposite direction - focusing on programmers and providing them with full development tools.
That's a strange answer. "Political", as, by the way, are many other answers. I'm not talking about "a pipe dream", but about an interface actually. And I won't waste my time on arguments about what, who has it and how exactly it "works", so to speak. Instead, I propose that you keep and develop complex programming, and add to that a visual intuitive designer for another part of the CA platform. If you make it functionally identical to programming (even if not immediately), and even better, have the ability to combine these two methods, then what difference does it make how the user will form the strategy - by code, "dice", or summarily?
Apparently, you will tell me that "We don't have the resources to do all this nonsense. We'll spend the rest of our lives singing the same tune." Is that about right?
Apparently, to this you will say to me, "We don't have the resources to do all this nonsense. We're going to spend the rest of our lives singing the same tune." Is that about right?
But we will work with the constructor/visard - we will try to make simple basic skeletons (not complete programmes) automatically.
CreatIntVariable("Variable_Name");
Renat, I would suggest you to think about the iCustom function prototype in future versions. Now you have to write the parameter list explicitly in the code, and you can't call an arbitrary indicator by name, for example, given by a user, because the number of arguments of any indicator is unknown in advance. It severely restricts the use of iCustom. And in addition, there are two call parameters (int mode, int shift) at the end of the iCustom arguments list, i.e. the indicator parameters "break" the iCustom itself parameters in the prototype.
I can propose such a prototype:
double iCustom( string symbol, int timeframe, string name, int mode, int shift, object[] indicatorParams)
I.e. all the mandatory parameters of iCustom itself are in the beginning, and the last argument of the function is an array of the indicator arguments of a new arbitrary object type (in fact, they are int, bool, double, datetime and other built-in MQL types) with a variable number in the array. Although, the idea itself is not realistic - about 5 years ago one man told me that programmers are an extinct class of people, that is an unnecessary layer between professionals and computers. With the lapse of time the prognosis becomes true to the contrary - the number and complexity of IT solutions is only increasing.
And it would be nice to have functions to enumerate their arguments for indicators: IndicatorArgsCount(), ArgsItemName[i] will return parameter name, etc.
And most importantly - it's a debugger in MQL 5.
To chv - it is still possible to use default parameters in iCustom - see https://docs.mql4.com/ru/indicators/iCustom.
In principle MQL4 represents everything now, but still more is possible. Here is my list:
1.) It is possible to determine if a StopLoss or TakeProfit order has just closed. This can be done now, but it is quite complicated:
3 functions
int OrderJustClosedCount() - returns the number of orders closed at stops
int OrderJustClosed(int pos) - number of the ticket
void OrderJustClosedClear() - clears the buffer - immediately after OrderJustClosedCount returns 0 - if the processing has taken too long.
2.) For some objects (e.g. a linear regression channel), you can't read some values after drawing (e.g. the price at the end of a channel).
3.) Adding more MathArcTan2 - at least MathArcTan2 - of course a lot has already been implemented in MQL4, but still - why not integrate them?
And about the debugger - I believe you are already working on it ;-)
1.) The possibility of determining whether StopLoss or TakeProfit orders have just closed. This can be done now, but is rather complicated.
In general, we should just introduce the concept of "event", and all such situations can be handled.
For example, the event "order triggered", "SL triggered", or "order deleted by expiration time".
To chv - the possibility of using default parameters in iCustom still exists - see https://docs.mql4.com/ru/indicators/iCustom
You know, I've already read the prototype of iCustom function ;). The "default parameters" don't allow me to do what I need. Here is the simplest task - the Expert Advisor takes as an argument in a string the name of an arbitrary indicator and, for example, a comma-separated list of values of its parameters in a text file. The Expert Advisor needs to call the indicator by name with the specified argument values and receive its values and print them in the journal, say, the iCustom description contains a phrase:
... - Список параметров (при необходимости). Передаваемые параметры должны соответствовать порядку объявления и типу внешних (extern) переменных пользовательского индикатора.
Now we cannot do this for an arbitrary indicator - write what we don't know. At the stage of compiling the Expert Advisor, the number and type of indicator arguments is unknown. It is determined only at run-time execution time. In programming languages, this is called "late binding". It does not exist in MQL at the moment.
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
1) Make an intuitive, drag-and-drop strategy builder a la Gordago (or better yet, more complex strategy builders). This will certainly attract new users who want to trade more or less systematically, but don't want to spend a lot of time studying and poking around in MQL. The trader's business is to think about the market and try options, not about where a bug has crept into the program code.
2) Tick history for tests. You will have to do "for all" sooner or later anyway due to competition and changes taking place, and knowledgeable and "long-time" people know how to approach tests in MT4 anyway.
Do these things and MT will be number 1 for a long time without question. And if you don't, others will (and already do). But you already have a sufficiently high quality and suitable product to build on these necessary things.
With the hope of understanding.