Is it possible to implement a RELIABLE accounting of the aggregate position structure in MT5? - page 18

 
Svinozavr >> :

Your bold assertions on various occasions (my qualifications, the situation at the MC, etc.) somewhat reduce the interest in your opinion, don't you think?)) Somehow there's no point in responding to you - why respond to a clearly inadequate person's statements? )))

For starters, stop confusing hallucinations with reality - we'll talk.


That's it, I've calmed down.

What shall we talk about?

Already got my pen and notebook ready.

>> I'm listening to you, sir.

 
getch >> :

Just clarified. Since SL level is not guaranteed in any way and is executed on markets only by Market request, then the obligation of not hitting the TP level is not necessary. Simply, before you execute SL on the market, the Execution-server (Dukascopy) deletes the TP level (even if it is in the stack). This is the point which, unfortunately, cannot be HOPEFULLY implemented by the trader in MT5, even if he has a perfect connection to the trade server. And it is, indeed, REALLY IMPOSSIBLE on the MT5.

Here is how we see the solution to this problem:

a link (FILL->KILL) is introduced at MT5 trading server level between Limit orders and Stop orders, which gives the following:

- Before making a market-fulfill Stop order, the Execution server deletes the Limit order associated with it.

- When a Limit order triggers, the Execution server deletes the stop order related to it.

 

All the discussed problems are solved quite simply - by introducing conditional placing orders on the server. This, by the way, is done at many brokers working according to the classic exchange scheme. For this purpose when setting an order we should add the possibility to set a linked order to be cancelled and entered. The logic is elementary: if order A is executed, then orders B and C are placed. The same is for cancellation: if A order is executed, B and C are canceled. Or vice versa: Order B is cancelled if order A has reached execution. And then the problem of calculating the aggregate position is solved elementary, as well as the problem of TP and SL setting and canceling. In addition, it gives a lot of additional possibilities.

Z.U. After I wrote, I saw that getch has already mentioned it in a post before. Only we do not need to connect only limit and stop orders. If any can be linked, there are much more possibilities.

 

For: getch

Решение данной проблемы видится так:
вводится связь (FILL->KILL) на уровне торгового сервера MT5 между Limit-ордерами и Stop-ордерами, которая дает следующее:
- перед тем, как сделать маркет-сиполнение Stop-ордера, удаляется Execution-сервером связанный с ним Limit-ордер.
- после срабатывания Limit-ордера, удаляется Execution-сервером связанный с ним Stop-ордер.

This is hard to do because the orders have different tickets.

You have to enter one more field on the server and in the terminal,

and MQ will not go for such a non-standard move.

TP and SL exist. So what if it is an aggregate position.

As Integer said - stops are a last resort :-)

 
thecore писал(а) >>

For Avals:

This topic is not about how, it can be done at all.

It can be done.

This topic is about the reliability of order execution with multiple EAs and one aggregate position.

This is not the most reliable option.

To: getch

This is difficult to do because the orders have different tickets.

You need to enter one more field on the server and in the terminal,

and MQ will not go for such a non-standard move.

TP and SL exist. So what if it is an aggregate position.

As Integer said - stops are a last resort :-)

MQ and SL are the same as getch))))) and it's 100% reliable and standard step implemented in most brokerage software

 
Avals >> :

All the discussed problems are solved quite simply - by introducing conditional placing orders on the server. This, by the way, is done at many brokers working according to the classic exchange scheme. For this purpose when setting an order we should add the possibility to set a linked order to be cancelled and entered. The logic is elementary: if order A is executed, then orders B and C are placed. The same is for cancellation: if A order is executed, B and C are canceled. Or vice versa: Order B is cancelled if order A has reached execution. And then the problem of calculating the aggregate position is solved elementary, as well as the problem of TP and SL setting and canceling. In addition, it gives a lot of additional possibilities.

Z.U. After I wrote, I saw that getch has already mentioned it in a post before. Only it is not necessary to connect only limit and stop orders. If you can link any of them, there is much more scope.


My bad, I have not understood it. It is a good idea. Some kind of mini scripts.

But the problem is that this is an even bigger load on the server than storing non-cumulative items.

 
thecore писал(а) >>

My bad, I didn't work it out. That's a good idea. A kind of mini scripts.

But the problem is that it's an even bigger load on the server than storing non-cumulative items.

So the user will still enter these requests. In fact, everything is elementary and doesn't consume any resources. It is a necessary part of any platform. For example, QUIKa has http://www.quik.ru/about/features/conditional-orders/.

Alpha-Direct has it http://www.alfadirect.ru/help3_3/index.htm and other bourgeois trading platforms have it. I do not remember any terminal that does not have it.

 
Avals >> :

I wrote the same as getch)))) and it is a 100% reliable and standard step implemented in most brokerage software

More possibilities are given by common OCO-orders (the most primitive mini-scripts on the trading server). The FILL->KILL flag on the MT5 seems to be enough. Some companies (a la StrategyRunner) have chosen the way of storing scripts and even Expert Advisors on their servers. This way has its advantages (debatable) and disadvantages (debatable). MetaQuotes has gone another way.

 
getch писал(а) >>

More opportunities are provided by common OCO-orders (primitive mini-scripts on the trade server). The FILL->KILL flag on the MT5 seems to be enough. Some companies (a la StrategyRunner) have chosen the way of storing scripts and even Expert Advisors on their servers. This way has its advantages (debatable) and disadvantages (debatable). MetaQuotes has gone another way.

It is not quite clear what way they have chosen yet)))

 
Honestly. I, for one, am only interested in one thing. How to divide an aggregate position into components, nothing more. So that it would be possible to programmatically (taking into account connection breakdowns and other things) competently close a position piece by piece. So far, I do not see any solution. The restart of the Expert Advisor spoils everything. And it always can.