Is there any way to get better execution closer to pre-set target (TP&SL)rates?

I have been struggling for some time analyzing bracket ordering.
I submit bracket orders, and TP & SL legs are %s on entry rate.
but, executed rates are usually far from the pre-set thresholds(TP% or SL%)

for instance:
VJET on 10/26/2021.

I buy VJET at $9.66, and set
TP=+3% (=9.94)
SL=-1% (=9.56)

but the position is closed at $8.90, or at -7.87% loss.
in such a case, setting SL or TP does not make much sense.

is there any way to get better execution closer to pre-set target (TP&SL)rates?

any idea is appreciated.

thanks

You are going to have this with any “free” broker. Companies like Alpaca, E*Trade, Robinhood, Schwab etc sell their order flow - your bracket order information to market makers who then take the opposite trade (go short your long position) to drive down the price when they get a large group of shares where they know the stop loss causing you to either stop out before a run up or to make money on the spread, the difference between the bid-ask.

The best thing you could do is use strictly limit orders - not market orders, as market orders fill at the highest price possible earning the market maker a profit on your slippage.

Also using such tight stop losses will almost always get you wiped out.

thanks for the help&comment.

“The best thing you could do is use strictly limit orders - not market orders, as market orders fill at the highest price possible earning the market maker a profit on your slippage.”

can you clarify what is “strictly limit order”?

Well, it makes sense, but limit orders (at lest with paper trade, and what I could observe) are doing pretty much of same. For example, it will not sell at limit unless limit is exceeded (but it will book exact limit price). Same for buy - it will not buy at the target, but only below the target (as reported by market), yet it will book buying price as per the limit. I just hope that real-time trading is better…