What I would like from the "terminal" as a professional programmer. Another thread with wishes for MQL5. - page 9

 
Mathemat писал(а) >>

It should, it should be - just for the sake of art. There are situations where goto is the only way to code briefly and elegantly.

I agree. Sometimes it's very necessary. But if you switch to event handling the need may disappear.

 
Korey писал(а) >>

to Dedushka

1. looking at your avatar, I see a bosom like that of a sailor, + nickname "Granddad", - yep, so a ship's mechanic, and specifically the head mechanic went to the stock trade.
2. the level of "swearing" on the forum is acceptable, trade is identity, and one cannot trade without identity)))
2) the level of "swearing" on the forum is acceptable. trading is a form of self-sufficiency without self-interest, no way to trade without self-interest.
3. Whether you personally want to swear or not, you have already been swearing, especially since MQL4 as a language and as an environment is bad = )))
You just happen to join the shameful ones for "four-letter operator".
You're also ashamed of not understanding the deep thought of MQL creators))))
- If you remember the shape of punch-holes in punch-carriers, you will soon understand the price of MQL and MT-4.
4. goto is being tweaked like a tit with peppercorns and in the form of shaming in unintelligence, i.e. allegedly intellectual wretchedness, and shamefulness.
for proof read this thread as well))
= took away the goto operator from programmers, supposedly let them jump around now.
5.
However, on the subject:
the shame word goto may not be used, but SRAM itself and its shame word goto operator is a MUST

Dear,

1. my avatar is old, from Alpari forum. I have the sea near me, you can see it from my office. :-)

I have seen this theme, some people may argue with me but not on a bread-and-butter basis.

3. I remember punched cards and ribbons, yes, I've even got a working tube-machine. :-)

4,5. In fact GOTO (jump) is the basis of any software control. And the whole problem is in its haphazard use.

An adequate programmer won't focus on this and will write GOTO operator where it is needed. And if it's not in the language, that's ok too.

But it's better to have it, it won't be hungry and sometimes you may need it. And desperadoes both with or without it can still make such a mess that "mama don't grieve".

However, on the subject:

I won't touch procedural possibilities of the language, but when working with a lot of orders (tables, in fact) it would be interesting to have something like this built-in:

DELETE *
FROM Trade
WHERE (OrderType = OP_BUYLIMIT);

or

SELECT *
FROM History
WHERE ((OrderMagicNumber=2135) AND
(OrderOpenTime > #1/1/2009#));

Considering the promise of structures in MQL5, we could get the required subset of orders in the standard buffer and process them procedurally.

I just remembered how matrices were multiplied in earlier bases (loop in loop, etc.), I'm too lazy to search through all History line by line.

 

I don't really care if it's goto or not, because it's irrelevant, and they probably won't add it, or the forum will stagnate...

The rest is clear - those who can earn enough for what they have, and those who want to sell, of course, want more Yuish things,

The analysts want more power and the possibility to expand and work together with MT with anything...

 

Professional development should be different from student stuff, and the following brings MQL4 closer to that:

1. The "Technical Analysis in MQL4" document gives descriptions of indicators which are not in the "Indicators" section of the terminal, for example, ZZ.

2. The Technical Analysis in MQL4 document makes references to the Code Base when describing the indicators, which supposedly contain the source code - this is not true. If Bolindger Bands is in the "Indicators" section, then it is also in the "Custom Indicators" section (not Bands) and parameters in them must be the same, instead of int instead of double.

3) Code Base contains a lot of code written by semi-literate people, and often without any debugging or errors, but at the same time MetaQuotes author is often indicated. The Code Base should be divided into parts:

code (may be written by someone other than MetaQuotes), for which MetaQuotes is responsible (consulting and bug fixing);

code written by third parties, but with commenting (by the Moderator) by MetaQuotes;

everything else.

In any case, MetaQuotes is more sensitive to articles than Code Base, which in its current form is a pile of rubbish.

4. All of the indicators in the "Indicators" section must guarantee the algorithms that have been proposed by their respective authors. If this algorithm is different, it is necessary to explain it and it is inappropriate to call the indicator by a big name.

5. It's very desirable that the algorithms of the indicators coincide with some older and more widespread system. Metastock takes a special place among analysis systems, because developers of corresponding indicators took part in its development.

6. The number of indicators developed by MetaQuotes should be increased to a decent level and, taking into account the previous comment, match the number and the list of Metastock.

7. For each indicator there should be written a corresponding "function", which would not recalculate the whole or some part of the chart, but only its necessary part. This should seriously simplify the testing in terms of time.

8. All the indicators and functions must have an open source code.

9. In addition to Expert Advisors and scripts, there is a need for an Explorer (MetaStock analog), which would allow in the tester mode to analyze some set of currency pairs and timeframes in order to select the pair for the next trading session.

 

1. It is now difficult to say why ZigZag was not included in the list of standard technical indicators built into the terminal. Probably because of the variety of interpretations. But now we have a lot of different zigzags, which you can use in the terminal or write your own one in MQL4.

2. Here's the thing - the deviation parameter in a custom indicator and in the standard Bollinger Bands indicator have different types. This is fixed in MetaTrader 5. With the exception of this point, all indicators have their own sources in MQL4.

3. The indicators in the Code base on behalf of MetaQuotes should be debugged and without errors. If you find an error, please report it.

4 It is difficult to ensure the uniqueness of the algorithm, most indicators are very similar.

5. Algorithms are written by people, nothing stands still, and most algorithms have been checked with Metastock at some point.

6. it is not the primary task, MetaQuotes Software corp. provided the possibility to write their own indicators of almost any complexity in MQL4. In our opinion, it is more important than adding several hundreds of indicators to the terminal.

7. This is how it is in MQL4, you control the process of an indicator calculation by yourself.

8. Only open codes are published in the Code base and this allows you to download them directly from MetaEditor. 9.

9. This is not completely clear.

 
Rosh писал(а) >>

1. It is now difficult to say why ZigZag was not included in the list of standard technical indicators built into the terminal. Probably because of the variety of interpretations. But now we have a lot of different zigzags, which you can use in the terminal or write your own one in MQL4.

2. Here's the thing - the deviation parameter in a custom indicator and in the standard Bollinger Bands indicator have different types. This is fixed in MetaTrader 5. With the exception of this point, all indicators have their own sources in MQL4.

3. The indicators in the Code base on behalf of MetaQuotes should be debugged and without errors. If you find an error, please report it.

4 It is difficult to ensure the uniqueness of the algorithm, most indicators are very similar.

5. Algorithms are written by people, nothing stands still, and most algorithms have been checked with Metastock at some point.

6. it is not the primary task, MetaQuotes Software corp. provided the possibility to write their own indicators of almost any complexity in MQL4. In our opinion, it is more important than adding several hundreds of indicators to the terminal.

7. This is how it is in MQL4, you control the process of an indicator calculation by yourself.

8. Only open codes are published in the Code base and this allows you to download them directly from MetaEditor. 9.

9. This is not completely clear.

I cannot accept your answer, because it looks more like the answer of a big official to a pestering citizen, although I do not ask or demand anything - I just work for the common good. To the point.

1. ZZ is available in Metastock and its algorithm is different for the better (in my opinion). The rest of the variety is good when a benchmark is available. Apart from ZZ I have not found ADX, and again the available variety ADX has other algorithms and accordingly other graphs, e.g. ADX_Rosh.

2. The link provided is just an example. And this difference is not the only one. For example, all the custom indicators don't have the "applied_price" parameter, but according to the description it is supposed to be in those indicators .

The Accelerator doesn't have the period parameter. I understand that no one has checked it and my thesis that MQ did not provide the source code is proved by this.

3 I did not see your opinion on this point.

4. Professional development differs from student's, that author's algorithms of world fame are guaranteed - can not accept your explanation.

5. If Metastock was taken as a basis - what progress are we talking about? In Metastock the indicator algorithms are not changed.

6. Very sorry, may not have been understood. I'm not talking about developing a few hundred indicators. Metastock has them in the range of a hundred, but the important thing is something else - it is a functionally complete set of indicators for building trading systems. There is a more reasonable classification of indicator there, coming from market characteristics. Volatility indicators, for example. And what does an oscillator reveal, what is that market characteristic? The Williams trading system is given as indicators. This is great, but it is a separate section and it should not concern the indicators, because this is a trading system (in Metastock it is a separate subsection), of which there can be many.

7. I do not control anything in the indicator code. To get indicator values 0, 1, 2 you need to call it three times, because indicator buffer is not available to me. Reflects this difficulty the forum with its recommendations to transfer indicator text to the text of the Expert Advisor.

8. The code of the indicator cannot be included by .mqh, it requires additional effort and most importantly qualification.

9. We are talking about a tester mode that would combine the results of testing multiple currency pairs and/or EAs - this is available in Metastock.

Behind the nine points again my main point is lost: the part of Code Base, which is stamped "Metacurrents", must be done at a professional level. And if we call Code Base "open source", then that code must be written by a professional and professionally designed.

The open source indicator must have a description along the lines of "Language Description" and "Technical Analysis", but it must correspond exactly with the code to which the reference is made.

In addition, the source code of the indicator itself must contain:

- description of input parameters

- description of output parameters

- detailed comment of the algorithm

- maybe a comment of some other parts of the program

- The design of the indicator buffers to the maximum possibilities of Mq4.

- mandatory check of the validity of the input parameters of an indicator (I can't recall at all)

- fix the problem of loss of accuracy in the comparison of close values

Apart from the desire to improve the metatrader, there is no meaning behind this text.

 

If possible, for the convenience of developing EAs and counting parentheses in them, add a function in ME-5, so that you can put labels of different colours, as in the figure.

I use this manually by copying the screenshot of EA in Paint, and put coloured and differently shaped marks, example is shown in the picture:

 
Night_Sun писал(а) >>

If possible, for the convenience of developing EAs and counting parentheses in them, add a function in ME-5, so that you can put labels of different colours, as in the figure.

I use it manually, by copying screenshot of EA in Paint and put coloured and differently shaped marks, example is shown in the picture:

Then NotePad++ will help you. And you don't need to copy it. And the linked brackets are highlighted http://notepad-plus.sourceforge.net/ru/site.htm