The following article explains how the price filters currently work.
Let’s consider a bot with direction long and answer the question, when would the dynamic filter help to prevent deals at the same price?
Only for all prices below the current price that are able to take profit!
But it would fail for all deals above the current price that weren’t able to take profit. At those there could be duplicate deals. How many?
Let’s assume we start a long bot with dynamic filter smaller than take profit.
We start at with B(0, 1). The price doesn’t reach TP(0, 1).
Instead it reverses to B(-1, 1). The price goes up again to TP(-1, 1).
The price also reaches B(0, 2). But again we don’t reach TP(0, 2).
This could continue until the maximum amount of simultaneous deals is reached.
But as soon as we pass TP(0, *) all open deals B(0, *) at this level would be closed.
Deals below would always be closed when reaching their TP.
For deals above their could also be several deals per level with the same argument if the price first goes up to e.g. B(10,*) and down from there again with the same movements at each level as I described them for B(0, *).
Therefore it would be required for the bot to check whether there’s already an open deal in the price range. As explained above therefore it would probably be enough to remember one price per pair the price of the latest open deal which take profit wasn’t reached before.