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

 
hrenfx:
I do not understand the essence of the problem.

Just concentrate. I may have exaggerated the problem for myself (I said so later in the text), but it's there.

The gist is roughly the same as when trying to trade on a zigzag. The real (demo) account only knows the past extremums, but nothing is known about the current tick. If the current tick had come from the broker marked "Hi"/"Lo"/"NoExtremum" - I (and not only) would have had a rest on islands the whole year round. OK, not all year round, eight months a year. :)

The thing is, the OHLC mode tester is doing approximately the same thing. Not exactly, of course, but my EAs "accidentally" easily distinguish extrema suggested by me from senseless Open/Close. As a result, strategies show good results when optimized (and tested) on OHLC, but when trying to test the optimized TS on ticks they fail ineffectively. Well, not at the speed of spreads, some strategies even remain in profit, but much slower than when relying on OHCL quote.

That's about right. I keep thinking about it, it seems that Hi/Lo M1 may be tested, but I have to rebuild TC to make it realistic (i.e. practically the same as tick-testing). I have some ideas, but they are still raw.

// By the way, I tried to treat the problem described here (profit on OHLC / loss on ticks) switching to trading with limiters.

// That's when I ran into asymmetry of MT-tester (or rather bid-quotes).

 
Avals:
you can just remember 2 spreads per 1 bar. One on hai, one on loi))
This is, of course, a joke coming out of your mouth. Because storing such two spreads is not able to affect accuracy as much as storing just HighBid and LowAsk.
 
Avals:
I don't need a normal story from mt5)) Why test a non-mass strategy with an expensive story on a mass product? It's like asking McDonald's to put oysters on the menu.)
I do not understand why they would make a shit out of a mass product. And the history on the same FOREX of excellent quality has long been available (free).
 
MetaDriver:

Right. Sort of a "one-layer glass" kind of thing. It's a cute idea, I like it. Not as nightmarish as the potty glass story, but much more informative than the bare ticks (Bid-Ask-Time).

Some ECN/STP-platforms, in particular, provide a facilitated tick history in this form. Study the question.
Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5
Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5
  • 2010.05.21
  • MetaQuotes Software Corp.
  • www.mql5.com
MetaTrader 5 позволяет во встроенном тестере стратегий моделировать автоматическую торговлю с помощью экспертов на языке MQL5. Такое моделирование называется тестированием экспертов, и может проводиться с использованием многопоточной оптимизации и одновременно по множеству инструментов. Для проведения тщательного тестирования требуется генерировать тики на основе имеющейся минутной истории. В статье дается подробное описание алгоритма, по которому генерируются тики для исторического тестирования в клиентском терминале MetaTrader 5.
 
MetaDriver:

Just concentrate. I may have exaggerated the problem for myself (I said so later in the text), but it's there.

The gist is roughly the same as when trying to trade on a zigzag. The real (demo) account only knows the past extremums, but nothing is known about the current tick. If the current tick had come from the broker marked "Hi"/"Lo"/"NoExtrmum" - I (and not only) would have had a rest on islands the whole year round. Well ok 8 months out of the year. :)

Thing is, the OHLC mode tester does just about that. Not exactly, of course, but my EAs can easily "accidentally" distinguish extrema suggested by me from meaningless Open/Close. As a result, when optimizing (and testing) on OHLC, the strategies show good results but when trying to test the optimized TS on ticks they fail. Well, not at spread speed, some strategies even remain in profit, but much slower than when being returned to OHCL quote.

That's about it. I keep thinking about it, it seems that testing on Hi/Lo M1 is possible, but I have to rebuild my TS to make this testing realistic (i.e. practically does not differ from tick-by-tick testing). I have some ideas, but they are still raw.

There is nothing to recognize, I have also discovered Newton's Binom, if the first tick is upwards it means that the bar is going down :)

This results from the tick model described in the article Algorithm of tick generation in the Strategy Tester of the MetaTrader 5 terminal

 
TheXpert:

I have bots that lack tick-bid history for normal testing, so much so that I'm thinking of writing my own tester.

Is there really not enough tick history? Simply, the M1 HighBid + LowAsk model is quite accurate and, importantly, orders of magnitude faster than testing/optimising on tick history. Give it a try.

Of course, there are cases when you cannot do without the tick history and even the Level2-story. But it's rare.

Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5
Алгоритм генерации тиков в тестере стратегий терминала MetaTrader 5
  • 2010.05.21
  • MetaQuotes Software Corp.
  • www.mql5.com
MetaTrader 5 позволяет во встроенном тестере стратегий моделировать автоматическую торговлю с помощью экспертов на языке MQL5. Такое моделирование называется тестированием экспертов, и может проводиться с использованием многопоточной оптимизации и одновременно по множеству инструментов. Для проведения тщательного тестирования требуется генерировать тики на основе имеющейся минутной истории. В статье дается подробное описание алгоритма, по которому генерируются тики для исторического тестирования в клиентском терминале MetaTrader 5.
 
Urain:

What is there to recognize, I have also discovered Newton's Binom, if the first tick is up, then the bar is going down :)

This results from the tick model described in the article Tick Generation Algorithm in MetaTrader 5 Strategy Tester

I know, I just did not tweak my neuronetworks for such recognition. :)

If on purpose, it's a grail lying in the kodobase a long time ago. I'm aware of that.

 
MetaDriver:

I know, I just did not fine-tune my neural networks for such recognition. :)

If on purpose, it's a grail lying in the kodobase a long time ago. I'm aware of that.

So you're trawling NS in the tester for ticks, ahaha, well, you're brilliant, Vladimir, I thought you wrote your tester in OpenCL, it's easy to write a tick history there too.

Or did you cheat, and gave you tester ticks? I had to build my own, or at least download ready-made (but I do not like that almost no one has volumes, although in realtime present).

 
hrenfx:

Simply, the M1 HighBid + LowAsk model is quite accurate and, importantly, orders of magnitude faster than testing/optimising by tick history. Give it a try.

I just figured out the logic - I think I need asc for HighBid and bid for LowAsk. Or I should rearrange logic, but not too much, in that case it will be a slightly pessimized version of the real. That works.
 
MetaDriver:

// By the way, I tried to cure the problem described here (profit on OHLC / loss on ticks) by switching to limit trading.

// That's when I ran into asymmetry of MT-tester (or rather bid-quotes).

Frankly, I don't understand testing other than M1 a la " opening prices" when the source material is just M1 history.

Mark-testing is a bit wrong (see lib). With limiters there is of course no looking into the future.

In my tester I almost always use M1 HighBid + LowAsk (no generation of pseudoticks). Well obviously, if BuyLimit <= LowAsk (which is indicated) - open.

Of course, only one trade inside the bar. I.e. almost no intra-bar movement - M1 story, not ticks. But it's enough.

Remember, there must always be a compromise between speed and precision of the research tool. If the accuracy is high, but the speed is nothing, you can't do anything with it.

In fact, I've outlined the golden mean here. There are all sorts of tricks, but it will blow your mind completely here. I'd rather be a little idiot.

If your logic is based on what can form an extremum right now. Then translate it in the same way on the limiter. True, add a description to the algorithm that such-and-such an extremum may occur now. It will be easy for you as this potential (but not mandatory) extremum can be precisely identified before its possible appearance. In short, a masterpiece of obtuse language.