Discussion of article "Self-adapting algorithm (Part III): Abandoning optimization" - page 2

 
Valeriy Yastremskiy:

The idea is not trivial, and not obvious. It is not clear to me immediately, why we open sell when there are more blocks upwards.

In general, it is better to elaborate on not obvious statements.

Let it was measured that the price passes 4.47 blocks vertically on average for 24 steps. It means that the price usually passes from 4.47*2=8.94 to 0 blocks vertically for 24 steps. And most of the time, based on the amplitude distribution, it fluctuates near 0. Let's measure the shape of the amplitude distribution for 24 blocks and 10 000 samples.


It can be seen that the price hit zero 1360 times. 9 blocks vertically the price cannot pass in 24 steps, the nearest values are 8-10. In 8 blocks vertically it hit 528+577=1105 times, and in 10 blocks vertically the price hit 306+277=583 times. If we find the average, for 9 blocks vertically, then (1105+583)/2=844. On the sine wave for 25 samples (for 24 blocks) the price will pass 2 times for 24 blocks vertically (provided that the size of the blocks is such that the full amplitude fits into 24 blocks). For 10 000 samples it will pass vertically 1000/25*2=800 times. But on the real graph it turned out for 9 blocks vertically about 844 times. That is, the graph can be roughly represented as a noisy sinusoid, which has a trending part up, a flat part and a trending part down.

Then the trend part should be followed by the flat part. So if there is a movement equal to twice the average amplitude, we should trade for a pullback. If the price passes on average 4.47 blocks vertically in 24 steps, the trend movement will be 8.94 blocks vertically, which is 7.53 blocks in one direction and 16.47 blocks in the other direction. There can't be fractional values, you have to round up to a whole. That's 8 blocks one way and 16 the other way, or 66.6% overweighting of one type of block. Therefore, when the algorithm finds the overweight of one type of blocks, it considers that it was a trend movement and there will be a pullback.

 
Maxim Romanov:

Suppose it was measured that the price travels an average of 4.47 blocks vertically in 24 steps. It means that the price usually passes from 4.47*2=8.94 to 0 blocks vertically in 24 steps. And most of the time, based on the amplitude distribution, it fluctuates near 0. Let's measure the shape of the amplitude distribution for 24 blocks and 10 000 samples.


It can be seen that the price hit zero 1360 times. 9 blocks vertically the price cannot pass in 24 steps, the nearest values are 8-10. In 8 blocks vertically it hit 528+577=1105 times, and in 10 blocks vertically the price hit 306+277=583 times. If we find the average, for 9 blocks vertically, then (1105+583)/2=844. On the sine wave for 25 samples (for 24 blocks) the price will pass 2 times for 24 blocks vertically (provided that the size of the blocks is such that the full amplitude fits into 24 blocks). For 10 000 samples it will pass vertically 1000/25*2=800 times. But on the real graph it turned out for 9 blocks vertically about 844 times. That is, the graph can be roughly represented as a noisy sinusoid, which has an upward trending part, a flat part and a downward trending part.

Then the trend part should be followed by the flat part. So if there is a movement equal to twice the average amplitude, we should trade for a pullback. If the price passes on average 4.47 blocks vertically in 24 steps, the trend movement will be 8.94 blocks vertically, which is 7.53 blocks in one direction and 16.47 blocks in the other direction. There can't be fractional values, you have to round up to a whole. That's 8 blocks one way and 16 the other way, or 66.6% overweighting of one type of block. Therefore, when the algorithm finds the overweight of one type of blocks, it considers that it was a trend movement and there will be a pullback.

Thank you. I see. I don't know. It's too simple. It should work. But I think it selects quite a small part of profitable trades. Although it's better to analyse the performance to be sure.

 
Maxim Romanov:

It will cross the MA. But it makes no sense. For normal operation, you need a theoretical model, without theory you get guesswork. Here are the questions why the price should return to the average, what averaging period to take, why this period?

Hehehe...

These are the most important questions that must be answered. First of all, to yourself. And maths and statistics alone are not enough here. You need a, er... a philosophy, a paradigm of thought. Yes.

 
Valeriy Yastremskiy:

Thank you. I see. I don't know. It's too simple. It should work. But I think it selects quite a small part of profitable trades. It's better to analyse the performance to be sure, though.

Now it's too simple)

In the next article I will show how it works.

 
Alexander_K:

Hehe...

These are the most important questions that must be answered. First of all, to yourself. And maths and statistics alone are not enough. You need a, er... a philosophy, a paradigm of thought. Yes.

Yes, that's why I do this particular algorithm, rather than using standard indicators, because I know why it should work not only from the maths side, but also from the fundamental features of price formation.

 
Maxim Romanov:
There are no comments at all... Don't like it or don't understand it or is it so clear that there is nothing to say?)

I read the article with great interest, liked it, even understood something.

But now I call myself an American.

 
The question of the profitability of the method is not disclosed.
 
Alexei Ermolaev:
The question of profitability of the method is not disclosed.

It will be revealed in the next article, it is not the whole method yet

 

In general, optimisation is a forced measure if no clear patterns have been identified.

The more real patterns there are, the less the need for optimisation. In traditional TA there are no regularities, so robot optimisation is an attempt to use the previous "supposedly regularities" for the current situation.

 
Aleksandr Masterskikh:

In general, optimisation is a forced measure if no clear patterns have been identified.

The more real patterns there are, the less the need for optimisation. In traditional TA there are no regularities, that's why robot optimisation is an attempt to use the previous "supposedly regularities" for the current situation.

Yes, well said, I couldn't put it so succinctly, but that's what I wanted to say. I go exactly along the lines of identifying patterns. Taking a base and developing it, reducing the number of unaccounted factors. I believe that this is possible if you decompose the problem properly.