The great and terrible MT4 forever (or how to strategise a transition) - page 22

 
Igor Makanu:

it's all about the header accounts.

about the expected crutches - I have 2021, I expect the most user-friendly software, as an example - the same Python, which allows the user to write their code as concisely as possible and get a finished result, so it quickly "took off" - people do not want to write lengthy code for their own self-satisfaction, but want to solve their "desires" in the shortest possible time

ZS: remember the toes and ears? ... - Imagine that you were given Win 111, everything is great, but now you switch the keyboard layout by pressing the power button on the keyboard, I understand that fanatics get twisted and will thumb their toes at the desired button on the keyboard

Ehhh. There were times when people used to gloat about MT4, saying that it didn't have enough control, and that the developers needed more control and gave them access from MQL. Once they gave it to them, things got really bad for them. Although all the checks and expectations were previously hidden from the eyes of users. After all, the open position ticket returns in MT4. This suggests that all synchronization with the trading environment is simply hidden from the eyes and naughty pens of users:

Отсылка ордера --> [чёрный ящик] --> Тикет открытой позиции (ордера как принято в MQL4) (или -1)

So people asked for access to the black box - they got it.
Now you have to do the syncing yourself. Asked? Asked. Did they? They did. Is it good? They said it would be good. After it was given - it became bad.

Let's unwrap all that has been hidden in the standard functions of MQL4 and see, is it really so simple, and has it all been implemented by two magic lines of code? I don't think so...

Therefore, the comparison is quite incorrect. If you expand the MQL-code of all that is inside the standard trading functions in MT4, and compare the code volumes, having first ported what you see in the black box to MT5. Then the comparison will be correct.

That's what about crutches and stuff for MT5, and "hey what a friendly and excitable-beautiful MT4" - correctly compare the volume and logic of the code. Only one place is a black box, the other is its own implementation (as requested, remember?).

About the complication - I agree. Yes, it has become more complicated and more code to write. But as you've read above - you asked and laughed that "MQL4 is for housewives, but we've grown out of them and want to be serious" ...

Well, now it's getting serious.

 
Igor Makanu:

it's all about the header accounts.

about the expected crutches - I have 2021, I expect the most user-friendly software, as an example - the same Python, which allows the user to write his code as concisely as possible and get a finished result, so it quickly "took off" - people do not want to write lint code for their own self-satisfaction, but want to solve their "desires" in the shortest possible time

ZS: remember the toes and ears? ... - Imagine that you were given a Win 111, so everything is great, but the keyboard layout now need to switch by pressing the power button system, I understand that are especially fanatical twist and will thumb their feet to press the sacred button on the system

Given the emphasis, I think this is addressed to me.

I, too, am talking about the hedge accounts. I'm not against acceleration at all, but if the speed of internet doesn't match the speed of CPU, then what acceleration can we talk about? You do realise that the opening of a position takes place on the server, and it's not certain that the opening must be error-free. And the speed of reply to OrderSend() directly depends on the speed of the Internet... So, everything is laid down inside MT4, until we receive a reply from the server, the continuation will not happen. And only after receiving a ticket or error number everything will be known. And this order is set for all. Consequently, the speed of execution is not at a high level.

Now MT5 has a different tactic ... The programmer has to check whether it was executed or not ... if it is necessary, check, or not to get an increased speed. But you, for some reason, don't want to understand this and resent having to check and instead of checking you are trying to find delay time.

What's that got to do with reptilianism? Write friendly software in MQL5, while Python wasn't created to be written in it and throw out MQL5... That's what I think.

 

I personally have participated a hundred and fifty times, there is nothing to convince me, I know the pros of each platform long time ago.

I am not interested in its implementation:

open positions on an empty account at the end of the script run. It is allowed to close some positions from any terminal during the script runtime. This "intervention" is necessary only to avoid stupid decisions.

Forum on trading, automated trading systems and testing trading strategies

The great and terrible MT4 forever (or how to build a smart migration strategy)

fxsaber, 2021.05.08 18:54

I need to write a script on MT5 that opens 100 positions on an empty account.


On MT4 solved it this way.

void OnStart()
{
  while (OrdersTotal() < 100)
    OrderSend(_Symbol, OP_BUY, 0.1, Ask, 0, 0, 0);
    
  Print(OrdersTotal());
}


Who has a solution on MT5?



 
Igor Makanu:

I personally have participated a hundred and fifty times, there is nothing to convince me, I know the pros of each platform long time ago.

I am interested in the realisation of the subject:

You know what this suggestion is for:

I need to write a script on an MT5 that opens 100 positions on an empty account.

On MT4 solved it this way.

void OnStart()
{
  while (OrdersTotal() < 100)
    OrderSend(_Symbol, OP_BUY, 0.1, Ask, 0, 0, 0);
    
  Print(OrdersTotal());
}

Who has the solution on MT5?

If I wanted to show how disgusting MQL5 is (because I need to write there what is already written in MQL4 inside OrderSend())

So the new ignorant people who do not understand the essence of simplicity of MQL4 will say how bad MQL5 is - instead of two lines of code [1. I want an open position 100 times. 2. Good - hold], they will have to write their own checks after each "I want" and before "good hold", hidden from the user in the first case, and expanded into MQL code in the second. This is manipulation of the purest kind.

Most likely due to the catch in the question no one is going to make a public decision in this thread - many people understand the point of this trash-talk - to show the happy-perfect MQL4 and complicated-moot-core MQL5. I will be glad to be wrong. But the formulation of the question says a lot.

 
Artyom Trishkin:

Let's unwrap all that is hidden in standard MQL4 functions and see if it's that simple, and if it's all done with two magic lines of code. I don't think so...

You can't have a situation like in MT5 architecturally. Not on the outside, but on the inside. As there is no MT5 notion of order/trade/position in the insides (not what you see externally). I.e. the insides of MT4 are much simpler than the guts of MT5.

The double entries are not a concern of MT5, but an architectural bug where the Total()-functions show false positives. And when an order opening a position (fully filled) is placed together with its position. All in all, only crutches solve everything. And it seems that all crutches are now available in full.

 

Artyom Trishkin:

... This is manipulation pure and simple.

I don't understand the reasons ...

Forum on trading, automated trading systems and trading strategy testing

How to use MT4 for good (or how to create a migration strategy)

Alexey Viktorov, 2021.05.09 09:15

I.e. you put such conditions for MQL5 that someone may mess up, but for MQL4 you don't? What if I connect to my account from another company and place a couple of pending orders, what will MQL4 open?

Do you want to mess up without any checks? Are you advocating permissiveness in programming, or are you just trying to slander MQL5 for someone`s selfish interests?

Write the same in mql4 with checks and foolproof.


 
Artyom Trishkin:

Do you know what this sentence is for:....

To show all ignoramuses how disgusting MQL5 is

This is speculation, the problem must be solved, if we're trying to think like technically literate people.

I tried 5 times to solve this problem until I figured out how to do it optimally.

 

fxsaber:

...And it seems that all crutches are now fully available.

Just don't break your head with these crutches.

 
Artyom Trishkin:

To show all ignoramuses how disgusting MQL5 is (because you have to write there what is already written inside OrderSend() in MQL4)

It's not about brevity. Use your public trading library to write a solution to the problem. I was asking for a solution, not evaluating it.

The fact is, the elementary problem has not been solved on MT5 yet. And I don't care about the length of the code.


Since there are people here with their own trade libraries, can't they use their own ready-made solutions to write such a simple formulation of the script?

 
Igor Makanu:

I approached this problem five times until I figured out how to solve it optimally

I haven't tried MT4-style myself yet. Theoretically it should work. I haven't had a chance to look at it yet.

Reason: