Grid Trading

Documentation on interacting with a OKX's native Grid Trading programmatic API functions through the PENDAX Javascript SDK.

All Grid Trading API endpoints require authentication. Please create OKX API keys to interact with these functions successfully. Accounts must be funded or collateralized for any trades to successfully post.

Grid Trading

Place Grid Algo Order

Please refer to the official OKX API Docs for required parameters.

https://www.okx.com/docs-v5/en/#rest-api-grid-trading-place-grid-algo-order

Function Name:

placeGridAlgoOrder()

Usage:

import { createExchange } from "./exchanges/exchange.js";

  let myOkxAccount = createExchange({
      exchange: "okx",
      authenticate: true,
      key: "myKeys",
      secret: "mySecret",
      passphrase: "myPassphrase",
      label: "okx",
      marginType: "usdt"
});

async function placeGridAlgoOrder(exchange, options) {
    try {
        let result = await exchange.placeGridAlgoOrder(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

const result = await placeGridAlgoOrder(myOkxAccount,
{
    instId: "BTC-USDT",
    algoOrdType: "grid",
    maxPx: "5000",
    minPx: "400",
    gridNum: "10",
    runType: "1",
    quoteSz: "25"
})

Amend Grid Algo Order

Please refer to the official OKX API Docs for required parameters.

https://www.okx.com/docs-v5/en/#rest-api-grid-trading-amend-grid-algo-order

Function Name:

amendGrid()

Usage:

import { createExchange } from "./exchanges/exchange.js";

  let myOkxAccount = createExchange({
      exchange: "okx",
      authenticate: true,
      key: "myKeys",
      secret: "mySecret",
      passphrase: "myPassphrase",
      label: "okx",
      marginType: "usdt"
});

async function amendGrid(exchange, options) {
    try {
        let result = await exchange.amendGrid(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

const result = await amendGrid(myOkxAccount,
{
    algoId:"448965992920907776",
    instId:"BTC-USDT-SWAP",
    slTriggerPx:"1200",
    tpTriggerPx:""
})

Stop Grid Algo Order

Please refer to the official OKX API Docs for required parameters.

https://www.okx.com/docs-v5/en/#rest-api-grid-trading-stop-grid-algo-order

Function Name:

stopGrid()

Usage:

import { createExchange } from "./exchanges/exchange.js";

  let myOkxAccount = createExchange({
      exchange: "okx",
      authenticate: true,
      key: "myKeys",
      secret: "mySecret",
      passphrase: "myPassphrase",
      label: "okx",
      marginType: "usdt"
});

async function stopGrid(exchange, options) {
    try {
        let result = await exchange.stopGrid(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

const result = await stopGrid(myOkxAccount,
{
    [
    {
        algoId:"198273485",
        instId:"BTC-USDT",
        stopType:"1",
        algoOrdType:"grid"
    }
    ]
})

Get Grid Algo Order List

Please refer to the official OKX API Docs for required parameters.

https://www.okx.com/docs-v5/en/#rest-api-grid-trading-get-grid-algo-order-list

Function Name:

getPendingGridOrders()

Usage:

import { createExchange } from "./exchanges/exchange.js";

  let myOkxAccount = createExchange({
      exchange: "okx",
      authenticate: true,
      key: "myKeys",
      secret: "mySecret",
      passphrase: "myPassphrase",
      label: "okx",
      marginType: "usdt"
});

async function getPendingGridOrders(exchange, options) {
    try {
        let result = await exchange.getPendingGridOrders(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

const result = await getPendingGridOrders(myOkxAccount,
{
        algoOrdType:"grid"
})

Get Grid Algo Order History

Please refer to the official OKX API Docs for required parameters.

https://www.okx.com/docs-v5/en/#rest-api-grid-trading-get-grid-algo-order-history

Function Name:

getGridOrderHistory()

Usage:

import { createExchange } from "./exchanges/exchange.js";

  let myOkxAccount = createExchange({
      exchange: "okx",
      authenticate: true,
      key: "myKeys",
      secret: "mySecret",
      passphrase: "myPassphrase",
      label: "okx",
      marginType: "usdt"
});

async function getGridOrderHistory(exchange, options) {
    try {
        let result = await exchange.getGridOrderHistory(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

const result = await getGridOrderHistory(myOkxAccount,
{
        algoOrdType:"grid"
})

Get Grid Algo Order Details

Please refer to the official OKX API Docs for required parameters.

https://www.okx.com/docs-v5/en/#rest-api-grid-trading-get-grid-algo-order-details

Function Name:

getGridOrderDetails()

Usage:

import { createExchange } from "./exchanges/exchange.js";

  let myOkxAccount = createExchange({
      exchange: "okx",
      authenticate: true,
      key: "myKeys",
      secret: "mySecret",
      passphrase: "myPassphrase",
      label: "okx",
      marginType: "usdt"
});

async function getGridOrderDetails(exchange, options) {
    try {
        let result = await exchange.getGridOrderDetails(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

const result = await getGridOrderDetails(myOkxAccount,
{
        algoId: "448965992920907776",
        algoOrdType: "grid"
})

Get Grid Algo Sub Orders

Please refer to the official OKX API Docs for required parameters.

https://www.okx.com/docs-v5/en/#rest-api-grid-trading-get-grid-algo-sub-orders

Function Name:

getGridSubOrders()

Usage:

import { createExchange } from "./exchanges/exchange.js";

  let myOkxAccount = createExchange({
      exchange: "okx",
      authenticate: true,
      key: "myKeys",
      secret: "mySecret",
      passphrase: "myPassphrase",
      label: "okx",
      marginType: "usdt"
});

async function getGridSubOrders(exchange, options) {
    try {
        let result = await exchange.getGridSubOrders(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

const result = await getGridSubOrders(myOkxAccount,
{
        algoId: "448965992920907776",
        algoOrdType: "grid"
})

Get Grid Algo Order Positions

Please refer to the official OKX API Docs for required parameters.

https://www.okx.com/docs-v5/en/#rest-api-grid-trading-get-grid-algo-order-positions

Function Name:

getGridPositions()

Usage:

import { createExchange } from "./exchanges/exchange.js";

  let myOkxAccount = createExchange({
      exchange: "okx",
      authenticate: true,
      key: "myKeys",
      secret: "mySecret",
      passphrase: "myPassphrase",
      label: "okx",
      marginType: "usdt"
});

async function getGridPositions(exchange, options) {
    try {
        let result = await exchange.getGridPositions(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

const result = await getGridPositions(myOkxAccount,
{
        algoId: "448965992920907776",
        algoOrdType: "contract_grid"
})

Spot Grid Withdraw Income

Please refer to the official OKX API Docs for required parameters.

https://www.okx.com/docs-v5/en/#rest-api-grid-trading-spot-moon-grid-withdraw-income

Function Name:

spotGridWithdraw()

Usage:

import { createExchange } from "./exchanges/exchange.js";

  let myOkxAccount = createExchange({
      exchange: "okx",
      authenticate: true,
      key: "myKeys",
      secret: "mySecret",
      passphrase: "myPassphrase",
      label: "okx",
      marginType: "usdt"
});

async function spotGridWithdraw(exchange, options) {
    try {
        let result = await exchange.spotGridWithdraw(options);
        console.log(result);
    } catch (error) {
        console.log(error.message);
    }
}

const result = await spotGridWithdraw(myOkxAccount,
{
    algoId:"448965992920907776"
})

Last updated