Skip to content

api2trade/API2Trade.com-MetatraderAPI-Java-SDK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

API2Trade Java SDK

Official Java SDK for the API2Trade Metatrader API.
A robust API for Metatrader designed for enterprise Java applications to seamlessly manage trading accounts worldwide.
Whether you are building high-frequency trading bots or integrating broker systems, our industry-leading MT5 API and MT4 API let you bypass the MetaTrader terminal entirely. Perfect for institutional developers executing trades globally with ultra-low latency.

Java version License API Status Docs


Installation (Maven)

Add the following dependency to your pom.xml (once published, or build locally):

<dependency>
    <groupId>com.api2trade</groupId>
    <artifactId>api2trade-sdk</artifactId>
    <version>1.0.0</version>
</dependency>

60-Second Quickstart

import com.api2trade.sdk.client.Api2TradeClient;
import com.api2trade.sdk.enums.OrderType;
import com.api2trade.sdk.models.Models;

public class Main {
    public static void main(String[] args) {
        // Initialize with your API key from app.metatraderapi.dev
        Api2TradeClient client = new Api2TradeClient.Builder()
                .apiKey("YOUR_API_KEY")
                .build();

        try {
            // 1. Register your MT4/MT5 account
            String accountId = client.accounts.register("123456", "BrokerPass", "ICMarkets-Live01");
            System.out.println("Account UUID: " + accountId);

            // 2. Check live balance
            Models.AccountSummary summary = client.accounts.summary(accountId);
            System.out.println("Balance: " + summary.balance + " " + summary.currency);

            // 3. Get a live quote
            Models.Quote quote = client.market.quote(accountId, "EURUSD");
            System.out.println("Ask: " + quote.ask + " Bid: " + quote.bid);

            // 4. Place a trade
            Models.OrderResult result = client.orders.send(
                accountId, 
                "EURUSD", 
                OrderType.BUY_MARKET, 
                0.01, 
                quote.ask - 0.0020, // Stop Loss
                quote.ask + 0.0040, // Take Profit
                null, 
                "JavaBot", 
                true, // Auto-retry
                3     // Max retries
            );
            System.out.println("Ticket: " + result.ticket);

            // 5. Close the trade
            client.orders.close(accountId, result.ticket, null);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Configuration via Environment Variables

The Api2TradeClient.Builder will automatically pick up environment variables if they are set:

export API2TRADE_API_KEY=sk-...
export API2TRADE_BASE_URL=https://api.metatraderapi.dev    # optional
export API2TRADE_WS_URL=wss://api.metatraderapi.dev/stream # optional
// Uses environment variables automatically
Api2TradeClient client = new Api2TradeClient.Builder().build(); 

WebSocket Streaming

Receive real-time market data directly from the broker using our low-latency streaming client.

import java.util.Arrays;

client.stream(
    "YOUR_ACCOUNT_ID",
    Arrays.asList("EURUSD", "XAUUSD"),
    tick -> {
        // Fired on every price update
        System.out.println(tick.symbol + ": " + tick.bid + " / " + tick.ask);
    },
    error -> {
        System.err.println("Stream error: " + error.getMessage());
    },
    () -> {
        System.out.println("Connected to stream!");
    }
);

Error Handling

The SDK throws specific runtime exceptions that you can catch:

import com.api2trade.sdk.exceptions.BrokerRejectionException;
import com.api2trade.sdk.exceptions.Api2TradeException;

try {
    client.orders.send(accountId, "EURUSD", OrderType.BUY_MARKET, 0.01, null, null, null, null, true, 3);
} catch (BrokerRejectionException e) {
    System.out.println("Broker rejected trade (Code: " + e.getRetcode() + ")");
} catch (Api2TradeException e) {
    System.out.println("API Error: " + e.getStatusCode() + " - " + e.getMessage());
}

Support

Channel Link
📧 Email support@api2trade.com
💬 Telegram t.me/apisupport_en
📖 Docs docs.metatraderapi.dev
🌐 Website api2trade.com

License

MIT — see LICENSE.


MetaTrader®, MT4®, and MT5® are trademarks of MetaQuotes Ltd. API2Trade is an independent service and is not affiliated with MetaQuotes Ltd.

About

Connect and control your MT4 & MT5 trading accounts via a single REST API + WebSocket layer. Live market data, trade execution, account management — without a running terminal or Expert Advisors.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages