Subversion Repositories Integrator Subversion

Rev

Blame | Last modification | View Log | Download | RSS feed

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