package br.com.kronus.binance.testes;
import java.math.BigDecimal;
import br.com.kronus.binance.futures.ClienteHttpFuturosBinance;
import br.com.kronus.binance.futures.ConfiguracaoFuturosBinance;
import br.com.kronus.binance.futures.DirecaoOrdem;
import br.com.kronus.binance.futures.RequisicaoNovaOrdemFuturos;
import br.com.kronus.binance.futures.ServicoOrdensFuturosBinance;
import br.com.kronus.binance.futures.tipos.TipoMargem;
import br.com.kronus.binance.futures.tipos.TipoOrdem;
public class TesteTradeFuturosMain
{
public static void main
(String[] args
) {
try {
System.
out.
println("Iniciando TestFuturesTradeMain...");
ConfiguracaoFuturosBinance config =
ConfiguracaoFuturosBinance.
aPartirDeProperties("futures-binance.properties");
ClienteHttpFuturosBinance cliente =
new ClienteHttpFuturosBinance
(config
);
cliente.
sincronizarHorarioServidor();
ServicoOrdensFuturosBinance servicoMercado =
new ServicoOrdensFuturosBinance
(cliente
);
String symbol =
"BTCUSDT";
// 1) Modo de posição: One-way (hedgeMode = false)
System.
out.
println("Definindo Position Mode para ONE-WAY...");
String posModeResp = servicoMercado.
definirModoPosicao(false);
System.
out.
println("Resposta positionSide/dual => " + posModeResp
);
// 2) Tipo de margem: ISOLATED
System.
out.
println("Definindo Margin Type para ISOLATED...");
String marginResp = servicoMercado.
definirTipoMargem(symbol, TipoMargem.
ISOLADA);
System.
out.
println("Resposta marginType => " + marginResp
);
// 3) Alavancagem: 5x (ajuste como quiser na TESTNET)
System.
out.
println("Definindo alavancagem para 5x...");
String levResp = servicoMercado.
definirAlavancagem(symbol,
5);
System.
out.
println("Resposta leverage => " + levResp
);
// 4) Ordem de TESTE: MARKET BUY de 0.001 BTC (exemplo)
RequisicaoNovaOrdemFuturos orderReq =
new RequisicaoNovaOrdemFuturos
()
.
setSimbolo(symbol
)
.
setDirecao(DirecaoOrdem.
COMPRA)
.
setTipo(TipoOrdem.
MERCADO)
.
setQuantidade(new BigDecimal("0.001"));
System.
out.
println("Enviando /fapi/v1/order/test...");
String testOrderResp = servicoMercado.
testarOrdem(orderReq
);
System.
out.
println("Resposta order/test => " + testOrderResp
);
System.
out.
println("TestFuturesTradeMain concluído.");
} catch (Exception e
) {
System.
err.
println("ERRO EM TestFuturesTradeMain:");
e.
printStackTrace();
}
}
}