Wishes for MT5 - page 54

 
Interesting:

Need to make changes to a base class? In my opinion, anyone can easily do it in a descendant of a base class (according to their own logic).

Besides, where is the "meat" of these methods (for example, implemented as CTrade descendant)?

Yes, I also think it's a bit hard to pull it off for everyone. Regarding content of these methods I don't have it yet, I think developers will define it correctly, their experience allows. If in general, I see the possibility to work not with lots, but with times. I.e. to increase the volume of a position by 2 times, or 1.2 times. The same for shortening. With a rollover, I see the possibility to reverse a position with the same resulting position volume as before the rollover, or with a different one, larger or smaller. The idea is to use new, convenient wrapper methods which allow using mathematical functions in money management (operating with times when managing the position volume).
 
Yedelkin:
Not everyone. Not even every programmer. But only those who know OOP peculiarities.

If you want to, 90% of the people on this forum will be able to. Unless they are too lazy to look into the language help.

-Alexey-:
Yes, it seems to me too that it's a bit difficult for everyone to pull it off. As for the content of these methods, I don't have it yet, the developers, I think, will define it correctly, their experience allows. If in general, I see the possibility to work not with lots, but with times. I.e. increase the volume of a position by 2 times, or by 1.2 times. The same for shortening. With a rollover, I see the possibility of reversing a position with the same resultant position volume as before the rollover, or with a different, larger or smaller volume. The idea is to have new wrapper methods which allow using mathematical functions in money management (operating with times when managing position volume).

Separate thread about changes in CTrade (in general form) + math models + code (even as a template).

Preferably also as a separate module with descendant of base object.

If developers will find there a basis for inclusion in the standard module, certainly will do it, but for now only as a descendant (since concepts and code are not standardized).

IMHO

 
Interesting:

If you want to, 90% of the people on this forum will be able to. Unless, of course, they are too lazy to look it up in the language reference.

IMHO

It's not about "the people here" and not about their wishes. It was a statement about "everyone". - Whatever, it's understandable.

As for the question raised. It is much easier for an average user to learn how to use something like Prepared_Class::Function_Generic_Class, than to create "descendants of a base class" oneself.

 
Yedelkin:

It wasn't about "forum members present here" or their wishes. It was about the statement "everyone".

As for the question raised. It's much easier for an average user to learn how to use something like Prepared_Class::Function_Generic_Class, than to create "descendants of the base class" himself.

I'm not against changes and additions in the base library, especially if it will allow to trade more efficiently and conveniently.

I'm for the library to include universal things that suit everyone (so that later we won't have to redefine the functionality of standard classes).

As for these methods, I prescribed such things in class "Expert" (in my class), and there I defined all the logic of work.

PS

Similar things were implemented similar to CSampleExpert in the standard MACD Sample.

There is an opening and closing functionality there, why not add the proposed things as well?

 bool LongClosed();
 bool ShortClosed();
 bool LongModified();
 bool ShortModified();
 bool LongOpened();
 bool ShortOpened();
 
Interesting:

I'm in favour of including universal things in the library that everyone is happy with (so that you don't have to override the functionality of the standard classes later).

I see! Universality promotes stability.

As for whether the suggestions of-Alexey- belong to the category of "universal things", I can't say anything yet. But, I repeat: the average user needs clear and working functions, not their categorization by professional programmers.

 
Interesting:

PS

Similar things were implemented similar to CSampleExpert in the standard MACD Sample.

There is an opening and closing functionality there, why not add the proposed things as well?

You should agree that if a person doesn't know OOP, your example doesn't tell him much.
 
Yedelkin:
You agree that if a person doesn't know OOP, your example doesn't tell him much.

I agree that no, but it's a question of where and how to write this or that functionality.

Moreover, the standard library is still being developed and the developers have their own plans and interests there.

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
Interesting:

...the standard library is still being developed and the developers have their own plans and interests there.

Well, it's called "Wishes...", and the developers' plans can't be hindered by -Alexey's suggestion :)

 
Yedelkin:

So the branch is called "Wishes..." and the developers plans proposal from -Alexey- can not hinder in any way :)

I do not know, I do not see in the proposal specifics, maybe the developers will see.

But I still do not understand what and how to "flip" and "cut" and why CTrade?

Although, the standard library at its current stage of development doesn't bother me too much, because I have my own set of classes (which doesn't depend on standard library in any way).

 
Yedelkin:

Got it! Versatility contributes to stability.

I can't say anything about whether-Alexey's suggestions belong to the category of "universal things" yet. But, I repeat: the average user needs clear and working functions, not their categorization by professional programmers.

If we are talking about universality, it would be desirable to be able to change the position volume not only in increments, but also in lots. I.e. something like this:

1) To open a position with a certain lot: PositionOpen(...,lot,....); /this function is unambiguous and does not change, it remains as it is now/

2) Change the volume of the position, e.g. increase:

a) PositionIncrease(..., 2, mode_lot_change,....) - increase of the position volume by 2 lots; /for the case when it is convenient to change it in lots.

b) PositionIncrease(..., 2, mode_multiply_change,....) - increase position volume by 2 times; /in case it is convenient to change it in multiples/


But I still don't understand what and how to "flip" and "cut", and why exactly in CTrade?

CTrade has a set of methods, according to the help:"Operations with Positions". There are opening a position, closing a position, and changing the SL or TP of a position. It is suggested to complement it. To reverse a position is to make an opposite trade with a larger volume than the current one, so that the direction of the open position is reversed. To reduce a position is to reduce the volume of the open position. Increase - is the opposite.

Я за то чтобы в библиотеку включались универсальные вещи, которые устраивают всех (чтобы потом не пришлось переопределять функционал стандартных классов).

Yes, this is a very important point.