Monitoring Price for Execution
You can directly listen to the Binance API for monitoring the price of a pair. In this simple trading bot example, we're placing a LONG/SHORT order depending on whether the price we receive from Binance is above or below a certain threshold. In practice, you could use technical indicators to decide how to place orders, or automatically place orders to hedge against LP positions.
Function Overview
Fetches a market filtered by the
userConfig.SYMBOL
using thefetchMarketSymbolId
function.Validates the presence of the market in the returned data.
Opens a WebSocket connection to Binance's streaming endpoint for the specified market symbol's ticker data.
Sets up event listeners for the WebSocket connection to handle open and message events.
Handling the Message
In this example, we're taking an action if the price goes out of a certain range. If the price is greater than userConfig.UPPER_THRESHOLD_PRICE
, we'll open a SHORT position, and if it's lower than the userConfig.LOWER_THRESHOLD_PRICE
, we'll open a LONG position. The actionTaken
flag prevents the bot from executing many orders in a short duration, but ideally a debouncer or cooldown should be implemented.
In this implementation, we're only using the market price, but frontends typically use the Bid/Ask prices to guarantee order execution. These are also streamed from Binance's API. The documentation for querying these can be found here under "Individual Symbol Book Ticker Streams".
Last updated