Structure rules. Learning how to structure programmes, exploring possibilities, errors, solutions, etc. - page 13

 

It only takes practice to get a feel for the problem. I'm not talking about the manual+automatic case - I don't practise it. But from my own experience:

"What the fuck is going on with some orders! What is going on in general?

Well, let's look at the history. It seems to have become clear. Some kind of failure (on broker's side, for example).

We cannot interfere manually - there are hundreds of orders (and not all of them are problematic). This shit was not provided in the TS.

To interfere in the TS code - you need to think long and hard how to correctly handle it. What can I do now?

Well, I'm writing a tricky script that changes some orders in the way I see right now".


It will take a hell of a lot of time to write this script on netting. But on MQL4 it will take an order of magnitude less time.

I would even say that on netting you are unlikely to understand and feel the problem in the example above at all.

Practice and only practice real trading.

 
MetaDriver:
It's all bullshit.
I wish. Why isn't there a decent strategy aggregator for 5? He's totally on point.
 
hrenfx:

It only takes practice to get a feel for the problem. I'm not talking about the manual+automatic case - I don't practise it. But from my own experience:

"What the fuck is going on with some orders?! What is going on in general?

So, let's look at the history. It seems to have become clear. Some kind of failure (on broker's side, for example).

We cannot interfere manually - there are hundreds of orders (and not all of them are problematic). This shit was not provided in the TS.

To interfere in the TS code - you need to think long and hard how to correctly handle it. What can I do now?

Well, I'm writing a tricky script that changes some orders in the way I see right now".


It will take a hell of a lot of time to write this script on netting. But in MQL4 it will take much less time.

The market driver (the synchronizer) simply finds (by deduction) the difference between the real position (on the broker's server) and the recommended (signal from the strategy) market position and sends an order to eliminate the difference.And no matter what failures were there and on whose side BEFORE this point in time, the best thing to do in any situation immediately after any failure of any nature or loss/recovery of connection (for any length of time!) is to bring the market position to the recommended one. There are no exceptions to this axiom.


I would even say that on netting you are unlikely to understand and feel the problem in the example above.

That's for sure.

Practice and only practice of real trading.

Well, no one is arguing with that.
 
TheXpert:
If only. Why is there no normal aggregator for 5? He is absolutely on the point.

If we're talking about an aggregator of strategies "for the market", ie to run a bunch of isolated EAs on the real (or on a demo at most), with the ability to track their individual trade - I, for example, do not give a shit about this task... :)))))

Therefore, maintaining this toolkit is much harder than writing it. So, there are no masochists, that's why there is no such a "normal aggregator".

As for "not normal", i.e. for individual use with combining all strategies in one EA - I've shown the way, I've even showed you the driver for free. Ready integrator-aggregator, what is the problem? ;)

 
MetaDriver:

You have a lot of trouble with it, and it is impossible to solve it purely without CCA orders.

OCO orders are not needed. All the same architecture as described above, and the aggregation of multiple TCs is a reality even on netting.

In this architecture, all the TCs are run in virtuality - their own tester with history to the current moment. And then the summary poses are synchronized with reality.

Of course, the visualization of this virtual environment is almost a visualization of MT4.

You understand that any FOREX-aggregator on the same MT4 does exactly this nonsense in particular. That is, you run your TS in a virtual environment - in your MT4. The virtual environment is provided to you by the bridge of the aggregator. And the real side you don't actually see (on what LP what executed there), but you are beautifully shown everything.

 
hrenfx:

OCO orders are not needed. All the same architecture as described above, and the aggregation of multiple TCs is a reality even on netting.

In this architecture, all the TCs are run in virtuality - their own tester with history for the current moment. And then the summary poses are already synchronized with reality.

Of course, the visualization of this virtual environment is almost a visualization of MT4.

You understand that any FOREX-aggregator on the same MT4 does exactly this nonsense in particular. That is, you run in a virtual environment your TS in your MT4. The virtual environment is provided to you by the bridge of the aggregator. And the real side you do not actually see (on which LP what was executed there), but you are beautifully shown everything.

So, I agree with this. I do not agree with Andrew in his statement that there are no "normal aggregators". For individual use such an aggregator may be created without any problems in principle. My scheme just does not have virtual testers, but they may be created in the form of indicators, the problem with visualization is greatly simplified then.
 
hrenfx:

In this architecture, all TCs are run in virtuality - their own tester with history to the current moment. And then the total poses are synchronised with reality.

Too complex solution. There is not enough transparency for the end developer.
 
MetaDriver:

I do not have the problem of distinguishing between buy conditions / sell conditions. It should not be at the level of strategy. The task of strategy is to predict whether the market will rise or fall in the next moment, and with what probability. The recommended market position depends on it. What was there in the past, whether there are open (in either direction) positions now or not - it absolutely does not matter. If you don't get into it - you can spend half your life solving non-existent problems. Sometimes you can even solve them very nicely.

How does it not matter!? Any strategy, at its logic level, always knows its current state! Take a simple crossover strategy: it has only two states, it is either buying or selling. Without memorizing its position, it will open a long position every time it sees that the fast average is above the slow one. So what's the synchronizer to do? Tell her: "no, you already have a long position, I won't let her open another one!

My solution is universal, the strategy decides by itself how many orders and in which direction it can keep open. If you want one position to buy and two to sell, no problem. The basic class has all the necessary information to make decisions. At the terminal level there is no net position, while the strategy itself works in a comfortable multi position mode.

The Expert Advisor based on the template I suggested will automatically have the properties of a multi-expert. I won't have to add or modify anything. Positions of different EAs on one symbol won't collapse into netting, it's as easy to program a grid or a locker in this pattern as in any other strategy. In other words, a complete unification of program implementation is achieved regardless of the Expert Advisor logic!

 
C-4:

How does it not matter!? Any strategy, at its logic level, always knows its current state! Take a simple crossover strategy: it has only two states, it is either buying or selling. Without memorizing its position, it will open a long position every time it sees that the fast average is above the slow one. So what's the synchronizer to do? Tell her: "no, you already have a long position, I won't let her open another one!

My solution is universal, the strategy decides by itself how many orders and in which direction it can keep open. If you want one position to buy and two to sell, no problem. The basic class has all the necessary information to make decisions. At the terminal level there is no net position, while the strategy itself works in a comfortable multi position mode.

The Expert Advisor based on the template I suggested will automatically have the properties of a multi-expert. I won't have to add or modify anything. Positions of different EAs on one symbol won't collapse into netting, it's as easy to program a grid or a locker in this pattern as in any other strategy. In other words, a complete unification of program implementation is achieved regardless of the Expert Advisor logic!

The signal is a change of the situation to the one that is acceptable for a trading position in a certain direction.

Why not sign the signals with an individual signature, the signal changes, the signature changes.

Then the execution will work not only with the signal, but also with the signature, if the signal has already been worked out, there is no need to trade it again.

 
Urain:

A signal is a change in the situation to one which is acceptable for a trading position in a certain direction.

Why not sign signals with an individual signature, the signal change will change the signature.

Then the execution will work not only with the signal, but also with the signature, if the signal has already been worked out, there is no need to trade it again.

In this case we will have to store the history of signals worked out, which is very expensive. Let us again consider crossing of 2 averages. Suppose we restarted the Expert Advisor. There is no new cross for entry and the EA will somehow need to restore its trading history and understand that there was a crossover and that it should be in the Buy state and that this signal has been processed and we should not open a new position, but we need to find the old position, but it will not be easy to find, because the current position may not necessarily belong to only one EA ... All in all, it is a nightmare. This is the thorny path suggested by hrenfx: to write a history tester in every robot, which would collect historical signals, calculate whether they worked or not, and then store volumes of strategies, etc. As a result, the complexity of development increases by an order of magnitude, while there is still no reliable solution.
Reason: