Limit Order Book
The LimitOrderBook is deployed on xDai at 0x02e7B722E178518Ae07a596A7cb5F88B313c453a
The source code can be found at LimitOrderBook.sol
Functions
The functions allowing you to create orders are functionally very similar. We will give an overview of the parameters common to all orders and then discuss their differences.
Please ensure that you have familiarised yourself with the different order types.
addLimitOrder
function addLimitOrder(
IAmm _asset,
Decimal.decimal memory _limitPrice,
SignedDecimal.signedDecimal memory _positionSize,
Decimal.decimal memory _collateral,
Decimal.decimal memory _leverage,
Decimal.decimal memory _slippage,
Decimal.decimal memory _tipFee,
bool _reduceOnly,
uint256 _expiry
)This function is used to add Limit Orders.
_limitPricethe price for the limit order.A limit buy order will be executed when the current price is less than limitPrice.
A limit sell order is executed when the current price is greater than limitPrice
addStopOrder
This function is used to add Stop Orders.
_stopPricethe price for the stop order.A stop market buy order will be executed when the current price is greater than stopPrice.
A stop market sell order is executed when the current price is lesser than stopPrice
addStopLimitOrder
This function is used to add Stop-Limit orders. Stop-Limit orders
_stopPricethe price for the stop limit order.A stop limit buy order will be executed when the current price is greater than stopPrice.
A stop limit sell order is executed when the current price is lesser than stopPrice
_limitPricethe order must also satisfy the limit conditions in order to be valid
addTrailingStopMarketOrderAbs
This function is used to add a trailing Stop order with an absolute value
_trailrepresents the absolute value of the trail between the price of the asset and the trigger(stop) price. This will clearly be different for different assets.
addTrailingStopMarketOrderPct
This function is used to add trailing Stop orders with percentage value
_trailPctThis number represents the trail value as a percentage of the asset price (must be between 0 and 1)A value of 0.1 (formatted to 18 decimal places) will therefore signify 10%
addTrailingStopLimitOrderAbs
This function is used to add trailing Stop Limit orders with absolute values
_trailis exactly similar to the trailing stop market orders_gapwill specify the gap between the trailing stop price and the trailing limit price.
addTrailingStopLimitOrderPct
This function is used to add a trailing Stop Limit order with percentage values.
_trailPctis exactly similar to the trailing stop market orders_gapPctwill specify the gap between the trailing stop price and the trailing limit price as a percentage.
modifyOrder
This function allows a user to modify their own order. All the parameters are functionally similar to their counterparts in the addOrder functions.
order_idis the id of the order you are attempting to change.
Although the option exists to modify the stop price and limit price for all order types, changing the limit price of a stop order (or vice versa) will not turn it into a stop-limit order.
modifyTrailingOrder
This function allows users to modify their trailing orders.
_newStopand_newLimitare functionally similar to the trail and gap parameters discussed above.If the order is percentage, this function will expect percentage inputs.
deleteOrder
This function allows users to delete their own orders
execute
This function is used by keepers/users to execute orders once their conditions have been achieved
pokeContract
This function is used to update the trigger prices for the trailing orders.
_reserveIndexis used by the contract to verify previous prices of assets in order to update trailing prices. The ClearingHouse contract keeps a store of previous prices from ReserveSnapshotted. These prices can be queries usinggetPriceAtSnapshot()
Last updated
Was this helpful?