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();
|
}
|
}
|
}
|