Skip to content

Monitoring

During a live trading session you may want to monitor certain variables or the state of your strategy in real-time. You can do this by using the monitoring function of Super Algorithm. Let's look at a simple example to monitor the current state of our strategy.

1. Import the required methods

Add an import for monitor from the logging module

python
from superalgorithm.utils.logging import set_chart_schema, chart, monitor

Add a class variable that will hold our state which can be IDLE or OPEN.

2. Configure the state variable

python
class SMAStrategy(BaseStrategy):

    def init(self):
        self.state = "IDLE"
        ...

3. Updating and monitoring the state

Modify the trade_logic function to set the state when we open or close the position. On each iteration call the monitor function.

python
    async def trade_logic(self):

        ...

        if buy:
            await self.open("BTC/USDT", PositionType.LONG, 0.1, OrderType.LIMIT, close)
            chart("long", close)
            self.state = "OPEN"

        if sell:
            await self.close("BTC/USDT", PositionType.LONG, 0.1, OrderType.LIMIT, close)
            chart("short", close)
            self.state = "IDLE"

        monitor("state", self.state)

4. Viewing the monitored variables

When you run your backtest only the last state will be visible. During live trading all monitored variables will update on the dashboard or the session details page in real-time.

Monitoring State