Repeat
The repeat command allows to script pseudo-loops of commands or complex command blocks in the CLI. To repeat single or chained commands with parallel (&) and chained (;) and sleep commands apply the following syntax using parentheses (...) :
repeat <count> (commands...)
Parentheses create a block. Inside the block, normal ;
and &
apply and explicit instruments can be used. The block is executed count
times. Use sleep
commands inside the block to dictate pacing; no time parameter on repeat
is needed. You may use nested repeat blocks. The CLI will auto-abort if any sub-command inside a repeat
or sleep
chain is not recognised.
Examples:
repeat 5 (buy 1; sleep 1m)
repeat 5 (buy 1 btcusdt & buy 1 ethusdt & buy 1 solusdt; sleep 1s)
This allows you to create custom order types. E.g. you can create a custom swarm command to let the MM refill the books inbetween multiple batches to minimize slippage whithout risking MM widen their quotes while you hit the book:
repeat 5 (swarm buy 1000000$ into 5; sleep 5s)
Repeat commands are also bindable:
bind digit2 "repeat 3 (buy 1; sleep 500ms)"
Task Management
Every repeat task (and chained command using sleep) has an ID assigned which is a session-local rolling counter maintained by the CLI. The IDs are shown via: Console log, tasks
command and the Activity component.
Inside the CLI the following commands are available for control:
tasks # list active CLI tasks only (IDs + command string)
kill # kill the most-recent CLI task
kill 3 # kill task ID 3
kill all # kill every running CLI task
UI for tasks via Activity component
Use the Activity component to monitor ongoing repeat tasks. You can manually cancel repeat tasks .
Last updated