Interesting topic for many: what's new in MetaTrader 4 and MQL4 - big changes on the way - page 67

 
C-4: ... Each bar is 4 prices + AskLow HighBid, which gives a total of 6 integer types with 64 bits each (Prices are integers (long int) ).

How did you get 6 from 2 numbers ?

hrenfx: ... Works with M1 HighBid + LowAsk (results are more accurate than in MT5 tester).

Also, why 6 when 4 prices are Bid prices ( already include HighBid )

 
MetaDriver:

Exactly! But in this case we come to limit trading as the final phase in the development of an ideal trading system.

Now think with your brain, if the "ideal" system is obliged to trade Limits, then why should the real system have to trade Marquets or Stops? Out of modesty? ;)

Once again:

Avals:

that's exactly the big difference. In a nutshell, the 2 types of strategies are mean reversion and contra progression (momentum). The point of entry/exit in momentum is in the direction of movement in mr against. The breakout is only one kind of the second (by entry level to the breakdown). And you can't convert the second systems to limiters. If you can, it's essentially combining 2 of these types of systems in one bottle on different scales (tf roughly), which rarely happens.

The platform is kind of customised for different markets and instruments, not just FX in the diners))

understood and about the fact that nothing needs to be changed except the spread, I wrote 2013.08.10 05:47, after which he formulated it into his brilliant idea)) An elementary consequence of his queries

Is this class of strategies to change the format of stored history for them? Again, this is for strategies of class mr, which have entry/exit limits.

So it is bullshit to adjust the history and the platform to one class of strategies.

We need either a normal tick tester, or the possibility for users to collect their own history from ticks and feed it to the tester with tf<1min. Then we can use the history with LowAsk -- HighBid, or HighAsk --- LowBid for the opposite class of strategies. Or to test shorter term strategies, which do not have enough minutes (not for the FX in the canteens of course).

I.e. it's you who come to limit trading, but you don't have to put everyone in the same scales. Personally I trade momentum and use market entries. Do you think I haven't tried to add limiters to my TP? Yes, I did! Do you think the tick history has changed anything? I have a tick history and Level 2, but it did not change anything in terms of profitability of my TS. On the contrary, with replacing it by limiters total profit and money expectation fell down, I emphasize again: fell down a lot.

And just do not talk about the ideal TS and what it should be. Everyone has his own understanding of it, everyone knows what he is writing about and what the TS is.

The main mistake made by those who promote limiters in this way is that they think that submitting a bid at the best price is synonymous with making a deal at the best price. In reality, there is no such thing as the best price. If your limit order has triggered, the market has rebounded from its previous level. But there is only the current price, and for some reason you remember the old price and think the current price is better than the old price, although it is not.

 
C-4:

I read all this and it occurs to me that either the man is completely lost in the streams of his own consciousness, or at least half of what he wrote is a simple and ordinary lie.

A self-taught programmer without deep knowledge of the language wrote a single-threaded tester with the performance of 100 000 000 bars per second for several hours? In contrast: people of the highest level of professionalism spend years to create a competent, high-performance HFT tester, create whole teams to work with it and fill it with strategies, and here one person decided to build a tester on his own and immediately got an order of magnitude higher performance of leading (closed) HFT platforms.

Let's just calculate how much bandwidth memory we need to run 100 000 000 bars per second. Each bar is 4 prices + AskLow HighBid, which results in 6 integer types with 64 bits each (prices are integers (long int)). A 100 000 000 bars per second would require

This means that this performance can fundamentally and theoretically be achieved on DDR2 533 memory modules and higher. At least the declared performance is comparable to the physical limit of modern hardware.

But software time costs impose even more significant constraints. These cannot be ignored. That's why I took a fast 64-bit C compiler Win-Lcc 64 and measured the performance of a direct search of an array of bars without heavy mathematical calculations. Please note: we're talking about direct, i.e. the fastest search. Without environment manipulation and other overheads. Unlike dickfix, I provide full source code of my "strategy tester", so that anyone can compile it and measure the performance in their favorite compiler:

You can see that this code, depending on the Invoke directive, either goes through the array and performs a simple comparison (a very fast operation) or calls a function that performs the same comparison.

Let's see how long it takes for this code to search and compare 100 000 000 bars:

We can see that it took 1.28 seconds to go through 100,000,000 bars directly, which is almost a third worse than the advertised performance.

It can be seen that the search of 100 000 000 bars with call of calculation function on each bar took 1.79 seconds, which is more than 1.5 times worse than the declared performance.

All tests were run oni7 870, DDR3 3200 8Gb hardware.

Most of the time was spent on actual data preparation (about 9 seconds). Which at the slightest non-optimality in optimizer design will result in huge overhead. But I didn't take that time into account since we were talking only about the strategy run.

You draw your own conclusions. I hope I have shown by figures that the claimed result, to put it mildly, does not correspond to reality. Even the theoretical performance of the code describing the optimizer does not correspond to the claimed result. And if you implement a real tester that approached the functionality of the claimed one, the performance will drop even lower, since any function call and any more or less useful mathematical calculations will immediately reduce the time of the bare search.

Numbers, of course, are stubborn things, and the speaker makes a good point, but let's look at it from another angle, the troublemaker is not a troublemaker, but a senior scientist who came to visit us to collect sayings, proverbs, toasts ... ...and took a little too much .

So we're dealing with an industrial accident ... :)

In short, it is not chivalrous to kick a sitting in the bathhouse, he does not respond.

 
C-4:

I read all this and it occurs to me that either the man is completely lost in the streams of his own consciousness, or at least half of what he wrote is a simple and ordinary lie.

A self-taught programmer without deep knowledge of the language can write a single-threaded tester with 100 000 000 bars per second in a few hours? In contrast: people of the highest level of professionalism spend years to create a competent, high-performance HFT tester, create whole teams to work with it and fill it with strategies, and here one person decided to build a tester on his own and immediately got an order of magnitude higher performance of leading (closed) HFT platforms.

Have you ever parsed hrenfx's codes(getch in former life)? I highly recommend watching all his works in 4th forum kodobase, and parsing a couple or three of them thoroughly until you fully understand the algorithms. And all your high-contrast brigade of "people of the highest level of professionalism" I strongly suggest doing the same. Maybe you should be less delusional about Ivan's intellectual capabilities and start improving your own skills.


....................

You draw your own conclusions. I hope I've shown by figures that the claimed result does not correspond to reality, to put it mildly. Even the theoretical performance of the code describing the optimizer does not correspond to the claimed result. And if you implement a real tester approaching the functionality of the claimed one, the performance will drop even lower because any function call and any more or less useful mathematical calculations will immediately reduce the time of the bare minimum search.

You didn't show shit in numbers, you have three ticks in bars, while he has one tick in each - only LoAsk and HiBid - which is exactly what he propagandized here for a very long time. So if you remove two unnecessary comparisons from loop and turn off range checks in compiler (RangeCheck), then the stated figure already looks quite realistic, even with useful (minimal) calculations inside the loop.
 
Avals:
Have your feet ever slipped halfway down your body?
 
TheXpert:
Have your feet ever slipped halfway down your legs?
(I've slipped, but less.)
 
Avals:
is that how you come up with it?))) For mr systems that are effective on a return market H<2 (H-wave a rough estimate and the average of a very large hospital) benefit from limits. On trending (H>2) with marques/stops. And why should it be an ideal system to trade with limits? Ideal mr yes. But real instruments are a mix of trending and flat sections of different scale (and we get H=2 on average). So think with your brain that there is more than one ideal system)) And there are even more real ones

I thought about it, and arrived at the same thing that hrenfx and Neutron (and probably many others) arrived at quite independently. Namely, if an "Ideal System" is a TS that takes all the theoretically possible profit from the market, then it

1) only one // if we classify systems not by the forecasting method, but by a number of trading transactions

2) it trades by means of limiters placed on tops of a cagy zigzag with dynamic H == (current spread + 1 pip). All other "Ideal Systems" are "less than ideal", for they lose. :)

About "real" systems .... I'd better not say anything.

;)

 
MetaDriver:

I thought about it, and arrived at the same thing that hrenfx and Neutron (and probably many others) arrived at quite independently. Namely, if an "Ideal System" is an Expert Advisor that takes all the theoretically possible profit from the market, it 1) has only one 2) trades by flipping limiters placed on top of a kagi zigzag with dynamic H == (current spread + 1 pip). All other "Ideal Systems" are "less than ideal", for they lose. :)

About "real" systems .... I'd better not say anything.

;)

ah, you mean fabulous systems)))
 
Avals:
ah, you mean fairy tale systems)))
In order to build something real, you need to know the limits of what is possible. So describing a fairy tale system is also a useful thing.
 
Avals:
Ah, you mean fairy tale systems)))

Yep. Exactly.

And also about fabulous earnings. And their fabulous absence, in places where the tester shows presence (and vice versa).