Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.DS_Store
.idea/
logs/
target
*.iml
*.tmp
70 changes: 1 addition & 69 deletions huobi_contract_Java.iml
Original file line number Diff line number Diff line change
@@ -1,76 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4">
<module version="4">
<component name="FacetManager">
<facet type="Spring" name="Spring">
<configuration />
</facet>
</component>
<component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
<output url="file://$MODULE_DIR$/target/classes" />
<output-test url="file://$MODULE_DIR$/target/test-classes" />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
<sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter:2.1.9.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot:2.1.9.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-context:5.1.10.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.1.10.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-beans:5.1.10.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.1.10.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.1.9.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-logging:2.1.9.RELEASE" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-classic:1.2.3" level="project" />
<orderEntry type="library" name="Maven: ch.qos.logback:logback-core:1.2.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-to-slf4j:2.11.2" level="project" />
<orderEntry type="library" name="Maven: org.apache.logging.log4j:log4j-api:2.11.2" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:jul-to-slf4j:1.7.28" level="project" />
<orderEntry type="library" name="Maven: javax.annotation:javax.annotation-api:1.3.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-core:5.1.10.RELEASE" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-jcl:5.1.10.RELEASE" level="project" />
<orderEntry type="library" scope="RUNTIME" name="Maven: org.yaml:snakeyaml:1.23" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-starter-test:2.1.9.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test:2.1.9.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework.boot:spring-boot-test-autoconfigure:2.1.9.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.jayway.jsonpath:json-path:2.4.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:json-smart:2.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.minidev:accessors-smart:1.2" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.ow2.asm:asm:5.0.4" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.assertj:assertj-core:3.11.1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.mockito:mockito-core:2.23.4" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy:1.9.16" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: net.bytebuddy:byte-buddy-agent:1.9.16" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.objenesis:objenesis:2.6" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-library:1.3" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.skyscreamer:jsonassert:1.5.0" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: com.vaadin.external.google:android-json:0.0.20131108.vaadin1" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.springframework:spring-test:5.1.10.RELEASE" level="project" />
<orderEntry type="library" scope="TEST" name="Maven: org.xmlunit:xmlunit-core:2.6.3" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-lang3:3.9" level="project" />
<orderEntry type="library" name="Maven: org.slf4j:slf4j-api:1.7.28" level="project" />
<orderEntry type="library" name="Maven: org.apache.commons:commons-collections4:4.4" level="project" />
<orderEntry type="library" name="Maven: com.squareup.okhttp3:okhttp:3.10.0" level="project" />
<orderEntry type="library" name="Maven: com.squareup.okio:okio:1.14.0" level="project" />
<orderEntry type="library" name="Maven: com.alibaba:fastjson:1.2.62" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:guava:28.1-jre" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:failureaccess:1.0.1" level="project" />
<orderEntry type="library" name="Maven: com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava" level="project" />
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:3.0.2" level="project" />
<orderEntry type="library" name="Maven: org.checkerframework:checker-qual:2.8.1" level="project" />
<orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.3.2" level="project" />
<orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.3" level="project" />
<orderEntry type="library" name="Maven: org.codehaus.mojo:animal-sniffer-annotations:1.18" level="project" />
<orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.10" level="project" />
<orderEntry type="library" name="Maven: com.google.code.gson:gson:2.8.1" level="project" />
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.3" level="project" />
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
<orderEntry type="library" name="Maven: org.java-websocket:Java-WebSocket:1.4.0" level="project" />
</component>
</module>
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

<groupId>com.huobi.contract.api</groupId>
<artifactId>huobi_contract_Java</artifactId>
<version>1.0.1</version>
<version>1.0.2</version>

<dependencies>

Expand Down
43 changes: 37 additions & 6 deletions src/main/java/com/huobi/api/constants/HuobiFutureAPIConstants.java
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,9 @@ public class HuobiFutureAPIConstants {
//联合保证金接口
public static final String ACCOUNT_BALANCE = "/v5/account/balance"; // 1.查询账户余额
public static final String ACCOUNT_MULTI_ASSETS_MARGIN = "/v5/account/multi_assets_margin"; // 2.设置联合保证金模式
public static final String ACCOUNT_FEE_DEDUCTION_CURRENCY = "/v5/account/fee_deduction_currency"; //查看手续费抵扣币种
public static final String ACCOUNT_BILLS = "/v5/account/bills"; //查询流水记录

public static final String TRADE_ORDER = "/v5/trade/order"; // 3.下单
public static final String TRADE_BACHORDER = "/v5/trade/batch_orders"; // 4.批量下单
public static final String CANCEL_TRADE_ORDER = "/v5/trade/cancel_order"; // 5.撤单
Expand All @@ -115,16 +118,44 @@ public class HuobiFutureAPIConstants {
public static final String SET_POSITION_LEVER = "/v5/position/lever"; // 16.设置杠杆等级
public static final String POSITION_MODE = "/api/v5/position/mode"; // 17.查询持仓模式
public static final String SET_POSITION_MODE = "/api/v5/position/mode"; // 18.设置持仓模式
public static final String POSITION_RISKLIMIT = "/v5/position/riskLimit"; // 19.查询持仓风险限额
public static final String MARKET_RISK_LIMIT = "/v5/market/risk_limit"; // 20.查询合约风险限额
public static final String POSITION_RISK_LIMIT = "/v5/position/risk/limit"; // 19.查询持仓风险限额
public static final String POSITION_RISK_LIMIT_TIER = "/v5/position/risk/limit_tier"; // 26.查询持仓风险限额
public static final String POSITION_MARGIN = "/v5/position/margin"; // 调整逐仓仓位保证金

public static final String MARKET_RISK_LIMIT = "/v5/market/risk/limit"; // 20.查询合约风险限额
public static final String ASSETS_DEDUCTION_CURRENCY = "/v5/assets_deduction_currency"; // 21.查询可抵扣手续费币种
public static final String MULTI_ASSETS_MARGIN_LIST = "/v5/market/multi_assets_margin"; // 22.查询联合保证金支持币种
public static final String Market_Risk_Limit = "/v5/market/risk/limit"; // 23.查询合约风险限额
public static final String Position_Risk_Limit = "/v5/position/risk/limit"; // 24.查询持仓风险限额
public static final String Get_Trade_Order_Response = "/v5/trade/order"; // 25.查询订单信息
public static final String Fee_Deduction_Currency = "/v5/account/fee_deduction_currency";

public static final String TRADE_CANCEL_AFTER = "/v5/trade/cancel-after";

/**
GET /v5/market/funding_rate
GET /v5/market/funding_rate_history
GET /v5/market/contract_info
GET /v5/market/open_interest
GET /v5/market/price_limit
GET /v5/market/liquidation_orders
GET /v5/market/settlement_history
GET /v5/market/elite_account_ratio
GET /v5/market/elite_position_ratio
GET /v5/market/estimated_settlement_price
*/

// 市场数据相关
public static final String MARKET_FUNDING_RATE = "/v5/market/funding_rate";
public static final String MARKET_FUNDING_RATE_HISTORY = "/v5/market/funding_rate_history";
public static final String MARKET_CONTRACT_INFO = "/v5/market/contract_info";
public static final String MARKET_OPEN_INTEREST = "/v5/market/open_interest";
public static final String MARKET_PRICE_LIMIT = "/v5/market/price_limit";
public static final String MARKET_LIQUIDATION_ORDERS = "/v5/market/liquidation_orders";
public static final String MARKET_SETTLEMENT_HISTORY = "/v5/market/settlement_history";
public static final String MARKET_ELITE_ACCOUNT_RATIO = "/v5/market/elite_account_ratio";
public static final String MARKET_ELITE_POSITION_RATIO = "/v5/market/elite_position_ratio";
public static final String MARKET_ESTIMATED_SETTLEMENT_PRICE = "/v5/market/estimated_settlement_price";

public static final String ALGO_ORDER = "/v5/algo/order";
public static final String ALGO_ORDER_CANCEL = "/v5/algo/cancel-orders";
public static final String ALGO_ORDER_QUERY = "/v5/algo/order";
public static final String ALGO_ORDER_OPENS_QUERY = "/v5/algo/order/opens";
public static final String ALGO_ORDER_HISTORY_QUERY = "/v5/algo/order/history";
}
Original file line number Diff line number Diff line change
Expand Up @@ -128,14 +128,21 @@ public class HuobiLinearSwapAPIConstants {
public static final String Copytrading_Trader_Open_Orders = "/copytrading/trader/open_orders"; // 18.查询当前委托
public static final String Copytrading_Trader_Tpsl_Open_Orders = "/copytrading/trader/tpsl_open_orders"; // 19.查询当前止盈止损委托

// 合约跟单 V6 接口
public static final String CopytradingV6_Trader_Instruments = "/api/v6/copyTrading/trader/instruments";
public static final String CopytradingV6_Trader_Statistics = "/api/v6/copyTrading/trader/statistics";
public static final String CopytradingV6_Trader_Profit_Sharing_History = "/api/v6/copyTrading/trader/profit-sharing-history";
public static final String CopytradingV6_Trader_Profit_Sharing_History_Summary = "/api/v6/copyTrading/trader/profit-sharing-history-summary";
public static final String CopytradingV6_Trader_Unrealized_Profit_Sharing_Summary = "/api/v6/copyTrading/trader/unrealized-profit-sharing-summary";
public static final String CopytradingV6_Trader_Followers = "/api/v6/copyTrading/trader/followers";
public static final String CopytradingV6_Trader_Follower = "/api/v6/copyTrading/trader/follower";
public static final String CopytradingV6_Trader_Transfer = "/api/v6/copyTrading/trader/transfer";
public static final String CopytradingV6_Trader_Follower_Settings = "/api/v6/copyTrading/trader/follower-settings";
public static final String CopytradingV6_Trader_Config = "/api/v6/copyTrading/trader/config";
public static final String CopytradingV6_Trader_Apikey = "/api/v6/copyTrading/trader/apikey";

//返佣
public static final String Invitee_Rebate_All_Rebate_Detail = "/v2/invitee/rebate/all_rebate/detail"; // 查询全部返佣信息
public static final String Invitee_Rebate_Batcher_Rebate_Detail = "/v2/invitee/rebate/batcher_rebate/detail"; // 查询批量返佣信息
public static final String Earn_Project_Query_Earn_Project_List = "/v1/earn/project/queryEarnProjectList";
public static final String Earn_Order_Demand_Add = "/v1/earn/order/demand/add";
public static final String Earn_Order_Demand_Redeem_Order = "/v1/earn/order/demand/redeem-order";
public static final String Earn_Order_User_Assets_List = "/v1/earn/order/user/assets/list";



}
18 changes: 18 additions & 0 deletions src/main/java/com/huobi/api/enums/OpEnum.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package com.huobi.api.enums;

public enum OpEnum {

SUB("sub"),
UNSUB("unsub");

private String value;

OpEnum(String value) {
this.value = value;
}

public String getValue() {
return value;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package com.huobi.api.request.usdt.account;

import com.google.gson.annotations.SerializedName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;

@AllArgsConstructor
@Data
@Builder
public class AccountBillsRequest {
@SerializedName("contract_code")
private String contractCode;

@SerializedName("margin_mode")
private String marginMode;

@SerializedName("type")
private String type;

@SerializedName("start_time")
private String startTime;

@SerializedName("end_time")
private String endTime;

@SerializedName("from")
private Long from;

@SerializedName("limit")
private Integer limit;

@SerializedName("direct")
private String direct;
}
Loading