Impulse - page 13

 
Karputov Vladimir:

Here's a good solution:


Let me explain once again: let us consider a range of 15 ticks. We take the first 10 ticks in this range as the average speed and time. For the price change value, we take the difference between each next tick in this part of the range (we suppose that tick0 is the latest tick):

We permanently store the ticks in an array equal in size to the two samples - the early and the fresh sample. The early sample is in an array of 15 ticks:

(тик15-тик14+тик14-тик13+тик13-тик12+тик12-тик11+тик11-тик10+тик10-тик9+тик9-тик8+тик8-тик7+тик7-тик6+тик6-тик5)/период выборки (10)

We also count the most recent five ticks from tick5-tick4 to tick1-tick0

Almost in the same way we count the tick arrival rate in the constantly updated array, only we do not count the change in price between adjacent ticks, but the time between them.

If the tick receipt rate is one second or less, we compare the average price change of 10 previous ticks and five fresh ticks. If the average price change of fresh ticks has exceeded some threshold - consider it an impulse and see the direction of change. If it is positive, we go up; if it is negative, we go down.

Now we are on a "caught" pulse and all new incoming ticks in the arrays will tell us the nature of the pulse, and the old samples will contain data on the beginning of the pulse, and the fresh samples will contain data on its current state. Since the arrays are constantly updated with each new tick, we can analyze the whole course of the impulse from its inception to its end.

I tried to show the code, but it is too much to redo for a simple explanation - it is multi-currency with many functions from libraries. If you really need it, I'll look into it at my leisure.

 
Artyom Trishkin:

...

I tried to show the code, but it's too much rework for a simple explanation - from multicurrency with a lot of functions from libraries. If you really need it - I'll dig around at my leisure.

The code, if possible, I would like to. And I will translate your theory into pictures, for clarity.
 
Karputov Vladimir:
The code, if possible, I would like. And I will translate your theory into pictures, for clarity.

I haven't finished this mess - orders came in (I did it in my spare time). I'll send it to you in person, and then modify it to fit the needs of this topic, so that you can put here what you need, rather than all that is there. Will it do?

And, yes, the code for four...

 
Artyom Trishkin:

I haven't finished this mess - orders came in (I did it in my spare time). I'll send it to you in person, and then modify it to fit the needs of this topic, so that you can put here what you need, rather than all that is there. Will it do?

And, yes - the code for four ...

Ok. I will cut it out and remake for MQL5.
 
Karputov Vladimir:
That'll do. I'll cut it out and remake it for MQL5.
I've uploaded it. Check it out ;)
 
Artyom Trishkin:

...

Constantly store ticks in an array equal in size to two samples - early and fresh. Early sample in an array of 15 ticks:

(тик15-тик14+тик14-тик13+тик13-тик12+тик12-тик11+тик11-тик10+тик10-тик9+тик9-тик8+тик8-тик7+тик7-тик6+тик6-тик5)/период выборки (10)

Also count the most recent five ticks from tick5-tick4 to tick1-tick0

...

Why add and subtract so much?

It could be simpler:

(tick15-tick5)/sample period (10)

 
Event:

Why add and subtract so much?

It could be simpler:

(tick15-tick5)/sample period (10)

Of course, it is not correct. Tick 15 = 1.10000, tick 5 = 1.10000. What is the difference? 0? But tick14 = 1.20000, tick13 = 1.25000, tick12 = 1.30000 ... and then a smooth decline to 1.10000...

And then what? Well, you have missed the pulse that took place 14 ticks ago. It is clear, that such impulse is of no use, but it will do as a visual confirmation of the incorrectness of the statement.

 
Artyom Trishkin:

Of course not. Tick 15 = 1.10000, tick5 = 1.10000. What is the difference? 0? But tick14 = 1.20000, tick13 = 1.25000, tick12 = 1.30000 ... and then a smooth decline to 1.10000...

So what then? That the momentum that took place 14 ticks ago has been lost. It is clear that such an impulse is of no use, but it will do as a visual confirmation of the incorrectness of the statement.

Don't you see that your formula and my variant of your formula will give exactly the same result?

Then you need to go to sixth grade, "reductions of like summands".

 
Event:

Don't you see that your formula and my version of your formula will give exactly the same result?

Then you need to go to sixth grade - 'reductions of like summands'.

There are no similar summands here. If you want to check, then calculate the value for fifteen bars (because you cannot check ticks - there is no history for them). Take the closing prices. M30 timeframe (this is for clarity).
 
Event:

Don't you see that your formula and my version of your formula will give exactly the same result?

Then you need to go to sixth grade - "reductions of like summands".

Ooh .... Welcome...

Reason: