# Hedged Contract

## Query product information

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#query-product-information-2](https://phemex-docs.github.io/#query-product-information-2)
{% endhint %}

#### Function Name:

```javascript
getProductInfo()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await getProductInfo(myMainPhemexExchange);
```

### Place order <a href="#place-order-http-put-prefered-2" id="place-order-http-put-prefered-2"></a>

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

<https://phemex-docs.github.io/#place-order-http-put-prefered-2>
{% endhint %}

#### Function Name:

```javascript
placeOrderHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await placeOrderHedged(myPhemexExchange, {
        symbol: "BTCUSDT", 
        side: "Buy", 
        posSide: "Long",
        orderQtyRq: "0.01",
        ordType: "Limit",
        priceRp: "20000"
    });
```

## Amend order by orderID

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#amend-order-by-orderid](https://phemex-docs.github.io/#amend-order-by-orderid)
{% endhint %}

#### Function Name:

```javascript
amendOrderHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await amendOrderHedged(myPhemexExchange, {
         symbol: "BTCUSDT", 
         orderID: "9839ae8f-88e7-431f-94a4-dd8d3312b382",
         priceRp: "21000",
         posSide: "Buy",
         orderQtyRq: "0.02"

     });
```

## Cancel Single Order by orderID

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#cancel-single-order-by-orderid](https://phemex-docs.github.io/#cancel-single-order-by-orderid)
{% endhint %}

#### Function Name:

```javascript
cancelOrderHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await cancelOrderHedged(myPhemexExchange, {
         symbol: "BTCUSDT",
         posSide: "Sell",
         orderID: "9839ae8f-88e7-431f-94a4-dd8d3312b382"
     });
```

## Bulk Cancel Orders

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#bulk-cancel-orders-2](https://phemex-docs.github.io/#bulk-cancel-orders-2)
{% endhint %}

#### Function Name:

```javascript
cancelBatchOrderHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await cancelBatchOrderHedged(myMainPhemexExchange, {
        symbol: "BTCUSDT",
        orderID: "234fsfs3,d2123dada2",
        posSide: "Buy"
     });
```

## Cancel All Orders

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#cancel-all-orders-2](https://phemex-docs.github.io/#cancel-all-orders-2)
{% endhint %}

#### Function Name:

```javascript
cancelAllOrdersHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await cancelAllOrdersHedged(myPhemexExchange, {});
```

## Query Account Positions

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#query-account-positions](https://phemex-docs.github.io/#query-account-positions)
{% endhint %}

#### Function Name:

```javascript
getAccountPositionsHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await getAccountPositionsHedged(myMainPhemexExchange, {
         currency: "USDT"
     });
```

## Query Account Positions with unrealized PNL

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#query-account-positions-with-unrealized-pnl](https://phemex-docs.github.io/#query-account-positions-with-unrealized-pnl)
{% endhint %}

#### Function Name:

```javascript
getAccountPositionsUnPnLHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await getAccountPositionsUnPnLHedged(myPhemexExchange, {
         currency: "BTC"
     });
```

## Switch Position Mode Synchronously

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#switch-position-mode-synchronously](https://phemex-docs.github.io/#switch-position-mode-synchronously)
{% endhint %}

#### Function Name:

```javascript
switchPositionModeSynchronously()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await switchPositionModeSynchronously(myPhemexExchange, {
         symbol: "BTCUSDT",
         targetPosMode: "Hedged"
     });
```

## Set Leverage

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#set-leverage-2](https://phemex-docs.github.io/#set-leverage-2)
{% endhint %}

#### Function Name:

```javascript
setLeverageHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await setLeverageHedged(myPhemexExchange, {
         symbol: "BTCUSDT",
         leverageRr: "-10"
     });
```

## Set RiskLimit

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#set-risklimit](https://phemex-docs.github.io/#set-risklimit)
{% endhint %}

#### Function Name:

```javascript
setRiskLimitHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await setRiskLimitHedged(myPhemexExchange, {
         symbol: "BTCUSDT",
         riskLimitRv: "10",
         posSide: "Buy"
     });
```

## Query open orders by symbol

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#query-open-orders-by-symbol-2](https://phemex-docs.github.io/#query-open-orders-by-symbol-2)
{% endhint %}

#### Function Name:

```javascript
getOpenOrdersHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await getOpenOrdersHedged(myPhemexExchange, {
         symbol: "BTCUSDT"
     });
```

## Query closed orders by symbol

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#query-closed-orders-by-symbol-2](https://phemex-docs.github.io/#query-closed-orders-by-symbol-2)
{% endhint %}

#### Function Name:

```javascript
getClosedOrdersHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await getClosedOrdersHedged(myPhemexExchange, {
         currency: "USDT"
     });
```

## Query user trade

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#query-user-trade-2](https://phemex-docs.github.io/#query-user-trade-2)
{% endhint %}

#### Function Name:

```javascript
getUserTradeHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await getUserTradeHedged(myPhemexExchange, {
         currency: "USDT",
         offset: "0",
         limit: "10"
     });
```

## Query Order Book

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#query-order-book-2](https://phemex-docs.github.io/#query-order-book-2)
{% endhint %}

#### Function Name:

```javascript
getOrderBookHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await getOrderBookHedged(myPhemexExchange, {
         symbol: "BTCUSDT"
     });
```

## Query kline

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#query-kline-2](https://phemex-docs.github.io/#query-kline-2)
{% endhint %}

#### Function Name:

```javascript
getKlineHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await getKlineHedged(myPhemexExchange, {
         symbol: "BTCUSDT",
         resolution: "60"
     });
```

## Query Trade

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#query-trade](https://phemex-docs.github.io/#query-trade)
{% endhint %}

#### Function Name:

```javascript
getTradeHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await getTradeHedged(myPhemexExchange, {
         symbol: "BTCUSDT"
     });
```

## Query 24 ticker

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#query-24-ticker](https://phemex-docs.github.io/#query-24-ticker)
{% endhint %}

#### Function Name:

```javascript
get24HourTickerHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await get24HourTickerHedged(myPhemexExchange, {
         symbol: "BTCUSDT"
     });
```

## Query 24 ticker for all symbols

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#query-24-ticker-for-all-symbols](https://phemex-docs.github.io/#query-24-ticker-for-all-symbols)
{% endhint %}

#### Function Name:

```javascript
get24HourTickerAllSymbolsHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await get24HourTickerAllSymbolsHedged(myPhemexExchange);
```

## Query Orders History

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#query-orders-history](https://phemex-docs.github.io/#query-orders-history)
{% endhint %}

#### Function Name:

```javascript
getOrdersHistoryHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await getOrdersHistoryHedged(myPhemexExchange, {
         symbol: "BTCUSDT"
     });
```

## Query Orders By Ids

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#query-orders-by-ids](https://phemex-docs.github.io/#query-orders-by-ids)
{% endhint %}

#### Function Name:

```javascript
getOrdersByIdHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await getOrdersByIdHedged(myPhemexExchange, {
         symbol: "BTCUSDT",
         orderID: "9839ae8f-88e7-431f-94a4-dd8d3312b382"
     });
```

## Query Trades History

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#query-trades-history](https://phemex-docs.github.io/#query-trades-history)
{% endhint %}

#### Function Name:

```javascript
getTradeHistoryHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await getTradeHistoryHedged(myPhemexExchange, {currency:"BTC", symbol: "BTCUSDT"});
```

## Query funding rate history

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#query-funding-rate-history-2](https://phemex-docs.github.io/#query-funding-rate-history-2)
{% endhint %}

#### Function Name:

```javascript
getFundingRateHistoryHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await getFundingRateHistoryHedged(myPhemexExchange, {symbol: ".ETHUSDTFR8H"});
```

## Query funding fee history

{% hint style="info" %}
Please refer to the official Phemex API Docs for the Required parameters.

[https://phemex-docs.github.io#query-funding-fee-history-2](https://phemex-docs.github.io/#query-funding-fee-history-2)
{% endhint %}

#### Function Name:

```javascript
getFundingFeeHistoryHedged()
```

#### Usage:

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

   let myPhemexExchange  = createExchange({
      exchange: "phemex",
      authenticate: "true",
      key: "myKey",
      secret: "mySecret",
      label: "phemex"
  });

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

let result = await getFundingFeeHistoryHedged(myPhemexExchange, {symbol: "BTCUSDT"});
```
