package com.xcong.excoin.modules.gateApi; // Import classes: import io.gate.gateapi.ApiClient; import io.gate.gateapi.ApiException; import io.gate.gateapi.Configuration; import io.gate.gateapi.GateApiException; import io.gate.gateapi.api.FuturesApi; import io.gate.gateapi.auth.*; import io.gate.gateapi.models.*; import io.gate.gateapi.api.AccountApi; public class Example { public static void main(String[] args) { ApiClient defaultClient = Configuration.getDefaultApiClient(); defaultClient.setBasePath("https://api-testnet.gateapi.io/api/v4"); // defaultClient.setBasePath("https://api.gateio.ws/api/v4"); // Configure APIv4 authorization: apiv4 defaultClient.setApiKeySecret("d90ca272391992b8e74f8f92cedb21ec", "1861e4f52de4bb53369ea3208d9ede38ece4777368030f96c77d27934c46c274"); try { String contract = "ETH_USDT"; String settle = "usdt"; //保证金模式 isolated/cross String marginMode = "cross"; AccountApi accountApi = new AccountApi(defaultClient); AccountDetail accountDetail = accountApi.getAccountDetail(); System.out.println(accountDetail.toString()); /** * 获取账户余额 */ FuturesApi futuresApi = new FuturesApi(defaultClient); FuturesAccount futuresAccount = futuresApi.listFuturesAccounts(settle); String available = futuresAccount.getAvailable(); String result = "可用余额:" + available; System.out.println(result); /** * 设置仓位模式 * 可选值:single, dual, dual_plus,分别表示单向、双向、分仓 */ String position_mode = "dual"; String positionMode = futuresAccount.getPositionMode(); if (!position_mode.equals(positionMode)){ futuresApi.setPositionMode(settle, position_mode); } /** * 设置杠杆倍数 * 设置合理的杠杆倍数,不能为0 */ String leverage = "25"; futuresApi.updateContractPositionLeverageCall( settle, contract, leverage, marginMode, position_mode, null); } catch (GateApiException e) { System.err.println(String.format("Gate api exception, label: %s, message: %s", e.getErrorLabel(), e.getMessage())); e.printStackTrace(); } catch (ApiException e) { System.err.println("Exception when calling AccountApi#getAccountDetail"); System.err.println("Status code: " + e.getCode()); System.err.println("Response headers: " + e.getResponseHeaders()); e.printStackTrace(); } } }