MT5Sugar API Reference¶
Layer 3 (High-Level API) - Convenience methods with auto-normalization and risk management
Source: src/main/java/io/metarpc/mt5/MT5Sugar.java
Symbol Helpers (12 methods)¶
ensureSymbolSelected(symbol)- Auto-enable symbol in Market WatchgetPoint(symbol)- Get point size (e.g., 0.00001)getDigits(symbol)- Get decimal places (e.g., 5)getSpread(symbol)- Get spread in pointsgetSpreadPrice(symbol)- Get spread in price unitsgetBid(symbol)- Get current Bid pricegetAsk(symbol)- Get current Ask pricenormalizePrice(symbol, price)- Round to symbol digitsnormalizeVolume(symbol, volume)- Normalize to min/max/steppointsToPrice(symbol, points, isBuy)- Convert points to pricepointsToPips(symbol, points)- Convert points to pipspriceFromOffsetPoints(symbol, isBuy, points)- Calculate offset price
Market Orders (2 methods)¶
buyMarket(symbol, volume, stopLoss, takeProfit)- BUY at current AsksellMarket(symbol, volume, stopLoss, takeProfit)- SELL at current Bid
Pending Orders (4 methods)¶
buyLimit(symbol, volume, price, SL, TP)- BUY LIMIT (below price)sellLimit(symbol, volume, price, SL, TP)- SELL LIMIT (above price)buyStop(symbol, volume, price, SL, TP)- BUY STOP (breakout up)sellStop(symbol, volume, price, SL, TP)- SELL STOP (breakdown)
Pending Orders with Points (4 methods)¶
buyLimitPoints(symbol, volume, offset, slPoints, tpPoints)- BUY LIMIT via offsetsellLimitPoints(symbol, volume, offset, slPoints, tpPoints)- SELL LIMIT via offsetbuyStopPoints(symbol, volume, offset, slPoints, tpPoints)- BUY STOP via offsetsellStopPoints(symbol, volume, offset, slPoints, tpPoints)- SELL STOP via offset
Position Management (5 methods)¶
modifyPosition(ticket, stopLoss, takeProfit)- Change SL/TPclosePosition(ticket)- Close position (full)closePosition(ticket, volume)- Close position (partial)closeAll(symbol)- Close all positions for symbolcloseAllBuy(symbol)- Close all BUY positionscloseAllSell(symbol)- Close all SELL positions
Advanced Batch Operations (3 methods)¶
closeAllPositions(symbol, isBuy)- Close only positionscloseAllPending(symbol, isBuy)- Cancel only pending orderscancelAll(symbol, isBuy)- Alias for closeAllPending
Risk Management (3 methods)¶
calculateVolume(symbol, slPoints, riskAmount)- Calculate lot size from $ riskbuyByRisk(symbol, slPoints, risk, tpPoints)- BUY with auto-calculated volumesellByRisk(symbol, slPoints, risk, tpPoints)- SELL with auto-calculated volume
Advanced Helpers (4 methods)¶
getVolumeLimits(symbol)- Get [min, max, step] arraygetTickValueAndSize(symbol)- Get [tickValue, tickSize] array
Account & Position Helpers (10 methods)¶
getBalance()- Account balancegetEquity()- Account equitygetMargin()- Used margingetFreeMargin()- Free margingetProfit()- Floating P/LhasOpenPositions()- Check if any positions opengetPositionCount()- Count of open positionsnormalizePriceDigits(symbol, price)- Alias for normalizePricenormalizeLots(symbol, lots)- Alias for normalizeVolumecreateTimestamp(seconds)- Create protobuf timestamp
Snapshot Helpers (2 methods + 2 classes)¶
getAccountSnapshot()- Full account state →AccountSnapshotgetSymbolSnapshot(symbol)- Full symbol info →SymbolSnapshot
History Helpers (2 methods)¶
getOrdersHistoryLastDays(days, symbol)- Orders history for N daysgetPositionsHistoryPaged(page, itemsPerPage)- Paginated positions history
Key Features: - ✅ Auto-normalization (volumes, prices) - ✅ Auto symbol selection - ✅ Built-in risk management - ✅ Simplified parameter handling - ✅ Batch operations
When to use: Production trading bots, quick prototypes, beginners.
For detailed documentation with examples, see MT5Sugar documentation.