about priority of routing filter

At present, I have the following rules, they allow 10.10.1.0/24 and 10.10.2.0/24
And prevent other prefixes

/routing filter
add action=accept chain=self-prefix distance=0 prefix=10.10.0.0/24 \
    protocol=bgp set-bgp-weight=0
add action=accept chain=self-prefix distance=0 prefix=10.10.1.0/24 \
    protocol=bgp set-bgp-weight=0
add action=discard chain=self-prefix protocol=bgp

But if I add 10.10.3.0/24 later, it doesn’t work.
It seems that all the accept rules added after the action = discard rule will not be triggered.

How to set priority of route filter?

ROS in general follows concept of “executed from top to bottom”. If you add another rule, then move it above currently last rule. In CLI there’s command move while in GUI you can drag the rule around.

Is there any information about cli move command
I’m going to regularly generate filters every day through my own script
At present, I have multiple devices to manage. If I do this step through winbox, the cost will be considerable

When you want to put an entry at the correct position you can use place-before=
e.g.
/routing filter
print
add chain=self-prefix … place-before=3
(the 3 is one of the line numbers output by the print command, where you want to place the new entry. it will be put just before that entry)

ATTENTION: the print command is mandatory. you cannot just “know from other information” that you want to insert it at the 3rd position, those line numbers are generated by the print command and remembered by the router to use in the next command.

When you want to automatically place entries without using this manual print/look/add sequence, you can use [find …] instead of the line number.
i.e. like this:
add chain=self-prefix … place-before=[find chain=self-prefix and action=discard]

And of course when you want to manage multiple devices consider using API instead of commandline. The way of doing it is similar, but it is much better than sending text to the commandline using some script.